/**
 * Mahroo layout fixes (hero overflow, services center, about callouts,
 * FAQ circle contrast, testimonials rewrite).
 */

/* ——— 1) Hero: keep text inside viewport; expand badge travel ——— */
.pf-hero-1-area {
	overflow-x: clip;
	overflow-y: hidden;
}

.pf-hero-1-row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.pf-hero-1-content {
	min-width: 0;
	max-width: min(510px, 100%);
	box-sizing: border-box;
	/* Raise title + CTA above the fold (was flex-end + 155px → cut off). */
	align-self: center;
	margin-top: 48px !important;
	margin-bottom: 120px;
	position: relative;
	z-index: 3;
}

@media (max-width: 767px) {
	.pf-hero-1-content {
		align-self: stretch;
		margin-top: 40px !important;
		margin-bottom: 32px;
	}
}

/*
 * Without the main person image the hero collapses to content height.
 * Keep a full-viewport hero on mobile/tablet so the BG still fills the
 * screen the way it did when the person image set the section height.
 */
@media (max-width: 991px) {
	.pf-hero-1-area {
		min-height: 100vh;
		min-height: 100svh;
		display: flex;
		flex-direction: column;
		justify-content: center;
		box-sizing: border-box;
	}

	.pf-hero-1-area > .container {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
	}

	.pf-hero-1-row {
		align-items: center !important;
		flex: 1 1 auto;
		width: 100%;
	}

	.pf-hero-1-content {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		align-self: center;
	}

	/* Hidden person column must not reserve space */
	.pf-hero-1-img-main[hidden],
	.pf-hero-1-img:has(.pf-hero-1-img-main[hidden]) {
		display: none !important;
	}
}

.pf-hero-1-content .title,
.pf-hero-1-content .disc {
	overflow-wrap: anywhere;
	word-break: normal;
}

.pf-hero-1-img {
	overflow: visible;
	align-self: flex-end;
	display: flex;
	align-items: flex-end;
	margin-top: auto;
}

/* Person stays flush to the hero bottom — no scroll float */
.pf-hero-1-img-main {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.pf-hero-1-img-main .h1-ani-img {
	align-self: flex-end !important;
	object-fit: contain;
	object-position: bottom center !important;
	margin-top: auto !important;
	margin-bottom: 0 !important;
	/* No scroll/parallax transforms on the front figure */
	transform: none !important;
	translate: none !important;
	will-change: auto !important;
}

/*
 * Bottom nav rests at the hero bottom (absolute). On stick we FLIP:
 * pin fixed at the current viewport Y (no jump), then ease top → 30px.
 * That keeps the old upward glide without the absolute→fixed bounce-down.
 */
.pf-header-menu-area,
.pf-header-menu-area.pf_sticky {
	position: absolute;
	top: var(--mahroo-menu-rest-top, 755px);
	left: 0;
	width: 100%;
	z-index: 6;
	transition: none;
}

/* Before JS: pin listing/single nav at scrolled sticky top (not mid-hero) */
body.mahroo-blog-page .pf-header-menu-area.pf_sticky,
body.mahroo-archive-page .pf-header-menu-area.pf_sticky,
body.mahroo-single-post .pf-header-menu-area.pf_sticky {
	position: fixed;
	top: var(--mahroo-menu-pinned-top, 30px);
	z-index: 99;
}

.pf-header-menu-area.pf_sticky.is-menu-fixed {
	position: fixed;
	/* top is set inline during / after the glide */
}

.pf-header-menu-area.pf_sticky.is-menu-gliding {
	transition: top 1s cubic-bezier(0.19, 1, 0.22, 1);
}

.pf-header-menu-area .vy-main-navigation .navbar-nav {
	transition: background 0.35s ease, box-shadow 0.35s ease;
}

/* Desktop-only floating nav — mobile uses hamburger. */
@media (max-width: 991px) {
	.pf-header-menu-area {
		display: none !important;
	}
}

/* Sticky top header must always sit above page sections (services lid was z:20). */
.mahroo-site-header,
.mahroo-site-header .pf-header-1-area,
.mahroo-site-header .txa_sticky_header,
.mahroo-site-header .txa_sticky_header.txa_sticky,
.mahroo-site-header .txa_sticky_header.is-mahroo-stuck {
	z-index: 100 !important;
}

/* Blog / archive / single / other inner pages: same top as scrolled Home nav */
body.mahroo-menu-pinned .pf-header-menu-area.pf_sticky,
body.mahroo-menu-pinned .pf-header-menu-area.pf_sticky.is-menu-fixed {
	position: fixed !important;
	top: var(--mahroo-menu-pinned-top, 30px) !important;
	left: 0;
	width: 100%;
	z-index: 99;
	transition: none !important;
	transform: none !important;
}

/* Desktop: never slide the logo bar away — kills scroll flicker sitewide */
@media (min-width: 992px) {
	.txa_sticky_header.txa_sticky,
	.txa_sticky_header.txa_sticky.txa_sticky_show,
	.txa_sticky_header.is-mahroo-stuck,
	.mahroo-site-header .txa_sticky_header.txa_sticky,
	.mahroo-site-header .txa_sticky_header.txa_sticky.txa_sticky_show,
	.mahroo-site-header .txa_sticky_header.is-mahroo-stuck {
		transform: none !important;
		transition: none !important;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.pf-header-menu-area.pf_sticky:not(.is-menu-fixed) {
		top: var(--mahroo-menu-rest-top, 630px);
	}
}

.pf-hero-1-img-text {
	/* Allow badge_x / badge_y beyond the image box edges */
	left: var(--mahroo-badge-x, auto);
	top: var(--mahroo-badge-y, auto);
	z-index: 4;
}

html[dir="ltr"] .pf-hero-1-row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

html[dir="ltr"] .pf-hero-1-content {
	padding-inline-start: 0;
}

@media only screen and (max-width: 1599px) {
	html[dir="ltr"] .pf-hero-1-content .title {
		font-size: clamp(28px, 3.2vw, 42px);
	}
}

/* ——— 2) Services: true-center cards + heading (EN + FA) ——— */
.pf-services-1-item {
	width: 100%;
	box-sizing: border-box;
	text-align: center !important;
}

/*
 * Flex column + align-items:center avoids the classic inline-block
 * whitespace shift (icons drift left in LTR / right in RTL).
 */
.pf-services-1-item .maxwidth {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 305px;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

.pf-services-1-item .icon {
	display: flex !important;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	transform-origin: center center !important;
}

.pf-services-1-item .icon img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.pf-services-1-item .item-title {
	width: 100%;
	text-align: center !important;
}

/* Global `a { display:inline-block }` + trailing spaces shifts titles */
.pf-services-1-item .item-title a {
	display: inline !important;
}

.pf-services-1-item .item-disc {
	width: 100%;
	text-align: justify !important;
	text-justify: inter-word;
	hyphens: auto;
}

.pf-feature-1-item-single .item-disc {
	width: 100%;
	text-align: justify !important;
	text-justify: inter-word;
	hyphens: auto;
}

.pf-services-1-item-row {
	/* Must stretch so border-bottom + verticals form one continuous grid */
	justify-items: stretch;
	justify-content: center;
}

/* Optional red glow behind service icons (editor toggle) */
.pf-services-1-area.is-icon-glow-off .pf-services-1-item .icon::after {
	display: none !important;
	content: none !important;
	opacity: 0 !important;
}

/* Section titles — force viewport-centered on both directions */
.elementor-element-8e294d3 .elementor-container,
.elementor-element-8e294d3 .elementor-widget-wrap,
.elementor-element-3506760,
.elementor-element-3506760 .elementor-widget-container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center !important;
}

.pf-services-1-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	text-align: center !important;
}

.pf-services-1-sec-title {
	width: 100%;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	text-align: center !important;
}

.pf-services-1-top-title,
.pf-services-1-sec-title,
.pf-services-1-heading .pf-split-2,
.pf-services-1-heading .split-line {
	width: 100% !important;
	text-align: center !important;
}

/* Top title sits above the section title and reads a bit larger */
.pf-services-1-top-title {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 14px;
	font-size: 54px;
	line-height: 1.12;
	letter-spacing: -1.4px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.pf-services-1-top-title {
		font-size: 48px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.pf-services-1-top-title {
		font-size: 40px;
		letter-spacing: -1px;
	}
}

@media (max-width: 767px) {
	.pf-services-1-top-title {
		font-size: 30px;
		letter-spacing: 0;
		margin-bottom: 10px;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.pf-services-1-top-title {
		font-size: 34px;
	}
}

/*
 * Services dividers:
 * continuous bottom rule + verticals between columns.
 * No “+” / dot glyphs — those made junctions look messy.
 */
.pf-services-1-item {
	margin-bottom: 0 !important;
	padding-bottom: 48px !important;
}

.pf-services-1-item::after {
	width: 1px;
	height: auto;
	top: 110px;
	/* Sit flush on the border — do not extend past it */
	bottom: 0;
	opacity: 0.12;
	background-color: #fff;
	pointer-events: none;
}

.pf-services-1-item::before,
.pf-services-1-item .dot-shape {
	display: none !important;
	content: none !important;
}

.pf-services-1-call-btn {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* LTR: vertical on the right of every column except the last */
html[dir="ltr"] .pf-services-1-item:nth-child(1)::after {
	display: block;
}

html[dir="ltr"] .pf-services-1-item:last-child::after {
	display: none;
}

/* RTL: first (outer-right) has no outer vertical; others keep right-edge verticals */
html[dir="rtl"] .pf-services-1-item:nth-child(1)::after {
	display: none;
}

html[dir="rtl"] .pf-services-1-item:not(:nth-child(1))::after {
	display: block;
}

/* One column: only the bottom rule, no orphan verticals */
@media (max-width: 575px) {
	.pf-services-1-item::after {
		display: none !important;
	}

	.pf-services-1-item {
		margin-bottom: 0 !important;
		padding-top: 28px !important;
		padding-bottom: 36px !important;
	}

	.pf-services-1-call-btn {
		padding-top: 2px !important;
	}
}

/* 2-col tablet: no outer vertical on the row’s last cell */
@media only screen and (min-width: 576px) and (max-width: 991px) {
	html[dir="ltr"] .pf-services-1-item:nth-child(2n)::after {
		display: none;
	}

	html[dir="ltr"] .pf-services-1-item:nth-child(2n-1)::after {
		display: block;
	}

	html[dir="rtl"] .pf-services-1-item:nth-child(2n-1)::after {
		display: none;
	}

	html[dir="rtl"] .pf-services-1-item:nth-child(2n)::after {
		display: block;
	}

	.pf-services-1-item {
		margin-bottom: 0 !important;
	}

	.pf-services-1-call-btn {
		padding-top: 2px !important;
	}
}

/* ——— 3) About callouts: badge always at the OUTER end of the line ———
 * DOM is always [badge][svg]. SVG runs badge (left) → globe (right end + dot).
 * data-callout-flip="1" mirrors the group so the badge sits on the opposite side.
 */
.pf-about-1-earth {
	overflow: visible;
}

.pf-about-1-earth-text,
.pf-about-1-earth-text-2 {
	position: absolute;
	z-index: 2;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	/* Keep flex geometry LTR so page dir / Reverse never put the badge mid-line */
	direction: ltr;
	right: auto;
	left: var(--mahroo-callout-x, 50%);
	top: var(--mahroo-callout-y, 20%);
	/* Pin the badge’s outer edge at (x,y) — not the group midpoint */
	transform: translate(0, 0);
	max-width: none;
	width: max-content;
}

/* Flipped: badge on the right end of the line, still the line terminal */
.pf-about-1-earth-text[data-callout-flip="1"],
.pf-about-1-earth-text-2[data-callout-flip="1"] {
	flex-direction: row-reverse;
	transform: translate(-100%, 0);
}

.pf-about-1-earth-text-box,
.pf-about-1-earth-text-2-box {
	position: relative;
	z-index: 2;
	flex-shrink: 0;
}

html[dir="rtl"] .pf-about-1-earth-text-box,
html[dir="rtl"] .pf-about-1-earth-text-2-box {
	direction: rtl;
}

.pf-about-1-earth-text-shape,
.pf-about-1-earth-text-2-shape {
	display: block;
	flex-shrink: 0;
	z-index: 1;
	margin-top: 22px;
	margin-left: -8px;
	margin-right: 0;
	transform: none !important;
	-webkit-transform: none !important;
	transform-origin: center center;
}

.pf-about-1-earth-text[data-callout-flip="1"] .pf-about-1-earth-text-shape,
.pf-about-1-earth-text-2[data-callout-flip="1"] .pf-about-1-earth-text-2-shape {
	/* Mirror line so globe-end still faces the globe when badge is on the right */
	transform: scaleX(-1) !important;
	-webkit-transform: scaleX(-1) !important;
	margin-left: 0;
	margin-right: -8px;
}

/* Kill layout.css defaults that force scaleX / wrong absolute sides */
.pf-about-1-earth-text,
.pf-about-1-earth-text-2 {
	right: auto !important;
}

html[dir="ltr"] .pf-about-1-earth-text,
html[dir="ltr"] .pf-about-1-earth-text-2,
html[dir="rtl"] .pf-about-1-earth-text,
html[dir="rtl"] .pf-about-1-earth-text-2 {
	/* Same rules in both directions — flip attr alone chooses side */
	flex-direction: row;
}

html[dir="ltr"] .pf-about-1-earth-text[data-callout-flip="1"],
html[dir="ltr"] .pf-about-1-earth-text-2[data-callout-flip="1"],
html[dir="rtl"] .pf-about-1-earth-text[data-callout-flip="1"],
html[dir="rtl"] .pf-about-1-earth-text-2[data-callout-flip="1"] {
	flex-direction: row-reverse;
}

html[dir="ltr"] .pf-about-1-earth-text-shape,
html[dir="ltr"] .pf-about-1-earth-text-2-shape,
html[dir="rtl"] .pf-about-1-earth-text-shape,
html[dir="rtl"] .pf-about-1-earth-text-2-shape {
	transform: none !important;
	-webkit-transform: none !important;
}

html[dir="ltr"] .pf-about-1-earth-text[data-callout-flip="1"] .pf-about-1-earth-text-shape,
html[dir="ltr"] .pf-about-1-earth-text-2[data-callout-flip="1"] .pf-about-1-earth-text-2-shape,
html[dir="rtl"] .pf-about-1-earth-text[data-callout-flip="1"] .pf-about-1-earth-text-shape,
html[dir="rtl"] .pf-about-1-earth-text-2[data-callout-flip="1"] .pf-about-1-earth-text-2-shape {
	transform: scaleX(-1) !important;
	-webkit-transform: scaleX(-1) !important;
}

html[dir="ltr"] .pf-about-1-earth-text-box,
html[dir="ltr"] .pf-about-1-earth-text-2-box {
	text-align: left;
}

html[dir="rtl"] .pf-about-1-earth-text-box,
html[dir="rtl"] .pf-about-1-earth-text-2-box {
	text-align: right;
}

/*
 * Mobile / small tablet: fixed callout layout that IGNORES desktop
 * editor --mahroo-callout-x/y and data-callout-flip. Repositioning on
 * desktop must not change this stack.
 */
@media (max-width: 767px) {
	.pf-about-1-earth {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 14px;
		overflow: visible !important;
	}

	.pf-about-1-earth-img {
		order: 3;
		width: min(92%, 420px) !important;
		margin: 0 auto !important;
	}

	.pf-about-1-earth-text,
	.pf-about-1-earth-text-2 {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		/* Kill desktop pin / flip transforms from editor positions */
		transform: none !important;
		-webkit-transform: none !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center;
		width: 100% !important;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
		z-index: 2;
	}

	/* Both badges above the globe */
	.pf-about-1-earth-text {
		order: 1;
	}

	.pf-about-1-earth-text-2 {
		order: 2;
	}

	.pf-about-1-earth-text[data-callout-flip="1"],
	.pf-about-1-earth-text-2[data-callout-flip="1"] {
		flex-direction: column !important;
		transform: none !important;
		-webkit-transform: none !important;
	}

	/* Connector lines are desktop-only — hide on phones */
	.pf-about-1-earth-text-shape,
	.pf-about-1-earth-text-2-shape {
		display: none !important;
	}

	.pf-about-1-earth-text-box,
	.pf-about-1-earth-text-2-box {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		text-align: center !important;
		box-sizing: border-box;
	}

	html[dir="rtl"] .pf-about-1-earth-text-box,
	html[dir="rtl"] .pf-about-1-earth-text-2-box {
		text-align: center !important;
	}
}

/* Tablet: both badges stacked above the globe (ignore desktop editor coords) */
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.pf-about-1-earth {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 14px;
		overflow: visible !important;
	}

	.pf-about-1-earth-img {
		order: 3;
		width: min(80%, 520px) !important;
		margin: 0 auto !important;
	}

	.pf-about-1-earth-text,
	.pf-about-1-earth-text-2 {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		transform: none !important;
		-webkit-transform: none !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
	}

	.pf-about-1-earth-text {
		order: 1;
	}

	.pf-about-1-earth-text-2 {
		order: 2;
	}

	.pf-about-1-earth-text[data-callout-flip="1"],
	.pf-about-1-earth-text-2[data-callout-flip="1"] {
		flex-direction: column !important;
		transform: none !important;
		-webkit-transform: none !important;
	}

	.pf-about-1-earth-text-shape,
	.pf-about-1-earth-text-2-shape {
		display: none !important;
	}

	.pf-about-1-earth-text-box,
	.pf-about-1-earth-text-2-box {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}
}

.pf-about-1-sec-title {
	overflow-wrap: anywhere;
	padding-inline: 12px;
	box-sizing: border-box;
}

.pf-about-1-disc {
	text-align: justify !important;
	text-justify: inter-word;
	hyphens: auto;
}

/* ——— 4) FAQ consultation orb (phone + CSS ring)
 * Wave line: style ONLY the wrap's direct-child SVG (the path), never
 * anything inside the button. Do not use `.pf-faq-1-all-btn-wrap svg`.
 */
.pf-faq-1-all-btn-wrap > svg {
	fill: transparent;
	stroke: rgba(255, 255, 255, 0.55);
	stroke-width: 1.5;
	width: 100vw;
	max-width: none;
	display: block;
	opacity: 1;
	position: relative;
	z-index: 0;
	pointer-events: none;
}

.pf-rotated-btn-1.mahroo-consult-orb {
	width: 120px;
	height: 120px;
	background:
		radial-gradient(circle at 50% 42%, #1c2426 0%, #0a0e0e 72%);
	box-shadow:
		0 0 0 1px rgba(153, 0, 0, 0.28),
		0 0 40px rgba(153, 0, 0, 0.5),
		0 0 80px rgba(153, 0, 0, 0.22);
	overflow: visible;
	z-index: 2;
}

.pf-rotated-btn-1.mahroo-consult-orb::before {
	padding: 1.5px;
	background: linear-gradient(
		145deg,
		rgba(153, 0, 0, 0.85) 0%,
		rgba(153, 0, 0, 0.12) 50%,
		rgba(255, 255, 255, 0.22) 100%
	);
}

/* Hide original circle-text image / leftover textPath junk */
.pf-rotated-btn-1.mahroo-consult-orb > img,
.pf-rotated-btn-1.mahroo-consult-orb svg,
.pf-rotated-btn-1.mahroo-consult-orb text,
.pf-rotated-btn-1.mahroo-consult-orb textPath,
.mahroo-consult-orb__text {
	display: none !important;
}

.mahroo-consult-orb__spin {
	position: absolute;
	inset: 8px;
	border-radius: 50%;
	border: 1.5px dashed rgba(153, 0, 0, 0.55);
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.1),
		0 0 0 1px rgba(153, 0, 0, 0.12);
	animation: pf-rotated-1 12s linear infinite;
	pointer-events: none;
	z-index: 1;
}

.mahroo-consult-orb__spin::before {
	content: "";
	position: absolute;
	top: -3px;
	left: 50%;
	width: 7px;
	height: 7px;
	margin-left: -3.5px;
	border-radius: 50%;
	background: var(--pf-clr-pr-1, #990000);
	box-shadow: 0 0 8px rgba(153, 0, 0, 0.95);
}

.pf-rotated-btn-1.mahroo-consult-orb .icon {
	width: 58px;
	height: 58px;
	transform: none !important;
	background: rgba(153, 0, 0, 0.14);
	color: var(--pf-clr-pr-1, #990000);
	box-shadow: inset 0 0 0 1px rgba(153, 0, 0, 0.35);
	z-index: 3;
	font-size: 20px;
}

.pf-rotated-btn-1.mahroo-consult-orb .icon::before {
	background: linear-gradient(
		160deg,
		rgba(153, 0, 0, 0.95) 0%,
		rgba(153, 0, 0, 0.15) 55%,
		rgba(255, 255, 255, 0.22) 100%
	);
}

.pf-rotated-btn-1.mahroo-consult-orb:hover .icon {
	background: var(--pf-clr-pr-1, #990000);
	color: #0a0e0e;
	transform: scale(1.06) !important;
}

@media (prefers-reduced-motion: reduce) {
	.mahroo-consult-orb__spin {
		animation: none;
	}
}

.pf-faq-1-all-btn-wrap.fix {
	overflow: visible !important;
}

.pf-faq-1-area.wa-fix {
	overflow: visible;
}

/* ——— 5) Testimonials rewrite ——— */
.pf-testimonial-1-area.mahroo-t-v2 {
	overflow: visible;
	background: #0a0e0e;
	padding: 40px 0 100px;
	position: relative;
	z-index: 2;
	width: 100%;
}

/* Break Bootstrap + Elementor width caps — full viewport track */
.elementor-section:has(.mahroo-t-v2) > .elementor-container,
.elementor-section:has(.mahroo-t-v2) .elementor-column,
.elementor-section:has(.mahroo-t-v2) .elementor-widget-wrap,
.elementor-section:has(.mahroo-t-v2) .elementor-widget-container {
	max-width: none !important;
	width: 100% !important;
}

.mahroo-t-v2 > .container.pf-container-1,
.pf-testimonial-1-area.mahroo-t-v2 > .container,
.mahroo-t-v2 > .mahroo-t-fluid {
	max-width: none !important;
	width: 100% !important;
	padding-left: clamp(16px, 2.5vw, 40px) !important;
	padding-right: clamp(16px, 2.5vw, 40px) !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.mahroo-t-v2 .mahroo-t-slider {
	position: relative;
	width: 100%;
	max-width: none;
}

.mahroo-t-v2 .pf-t1-active {
	overflow: hidden;
	padding: 12px 0 28px;
	width: 100%;
}

/* Keep pill cards filling their slide — peeks handle wide layouts */
.mahroo-t-v2 .mahroo-t-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-start;
	height: auto;
	padding: 8px clamp(4px, 1vw, 12px);
	width: 100%;
	box-sizing: border-box;
}

.mahroo-t-v2 .mahroo-t-card__body {
	display: flex;
	align-items: center;
	gap: 28px;
	width: 100%;
	padding: 36px clamp(24px, 3vw, 48px);
	background: rgba(255, 255, 255, 0.04);
	border-radius: 999px;
	backdrop-filter: blur(8px);
	position: relative;
	box-sizing: border-box;
}

.mahroo-t-v2 .mahroo-t-card__body::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1.5px;
	background: linear-gradient(
		215deg,
		rgba(153, 0, 0, 0.48) 0%,
		rgba(153, 0, 0, 0.1) 35%
	);
	z-index: 0;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
}

.mahroo-t-v2 .mahroo-t-card__avatar {
	flex: 0 0 120px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	filter: grayscale(1);
	position: relative;
	z-index: 1;
}

.mahroo-t-v2 .mahroo-t-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mahroo-t-v2 .mahroo-t-card__content {
	flex: 1 1 auto;
	min-width: 0;
	position: relative;
	z-index: 1;
}

.mahroo-t-v2 .mahroo-t-card__stars {
	display: flex;
	gap: 4px;
	color: var(--pf-clr-pr-1, #990000);
	margin-bottom: 14px;
	font-size: 14px;
}

.mahroo-t-v2 .mahroo-t-card__quote {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 16px;
	line-height: 1.6;
}

.mahroo-t-v2 .mahroo-t-card__author {
	margin-inline-start: 148px;
	padding: 14px 18px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(8px);
	position: relative;
	z-index: 1;
}

.mahroo-t-v2 .mahroo-t-card__author::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1.5px;
	background: linear-gradient(
		215deg,
		rgba(153, 0, 0, 0.48) 0%,
		rgba(153, 0, 0, 0.1) 30%
	);
	z-index: -1;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	pointer-events: none;
}

.mahroo-t-v2 .mahroo-t-card__name {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.4;
}

.mahroo-t-v2 .mahroo-t-card__role {
	margin: 0;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.55);
}

.mahroo-t-v2 .mahroo-t-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 28px;
}

.mahroo-t-v2 .mahroo-t-nav .pf-slider-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	cursor: pointer;
	transition: 0.25s ease;
}

.mahroo-t-v2 .mahroo-t-nav .pf-slider-btn:hover {
	color: #fff;
	background: rgba(153, 0, 0, 0.35);
	border-color: rgba(153, 0, 0, 0.5);
}

.mahroo-t-v2 .mahroo-t-nav .line {
	width: 28px;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
}

.mahroo-t-v2 .mahroo-t-nav .pf-pagination {
	display: flex;
	gap: 8px;
	align-items: center;
}

.mahroo-t-v2 .mahroo-t-nav .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.28);
	opacity: 1;
}

.mahroo-t-v2 .mahroo-t-nav .swiper-pagination-bullet-active {
	background: var(--pf-clr-pr-1, #990000);
	width: 22px;
	border-radius: 999px;
}

@media (max-width: 767px) {
	.mahroo-t-v2 .mahroo-t-card__body {
		flex-direction: column;
		align-items: flex-start;
		border-radius: 24px;
		padding: 24px;
	}

	.mahroo-t-v2 .mahroo-t-card__author {
		margin-inline-start: 0;
	}
}

html[dir="rtl"] .mahroo-t-v2 .mahroo-t-card {
	align-items: flex-end;
}

html[dir="rtl"] .mahroo-t-v2 .mahroo-t-card__body {
	flex-direction: row-reverse;
	text-align: right;
}

html[dir="rtl"] .mahroo-t-v2 .mahroo-t-card__author {
	text-align: right;
}

/* ——— News / blog grid (replaces broken sticky stack) ——— */
.pf-blog-1-area.mahroo-news-v2 {
	padding-bottom: 120px;
	background-color: #0a0e0e;
	isolation: isolate;
	z-index: 5;
	position: relative;
}

.mahroo-news-v2__title {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.mahroo-news-v2__title .pf-subtitle-1 {
	margin-bottom: 12px;
}

.mahroo-news-v2__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin-bottom: 48px;
}

.mahroo-news-v2__empty {
	grid-column: 1 / -1;
	text-align: center;
	opacity: 0.72;
	padding: 48px 16px;
	margin: 0;
}

.mahroo-news-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.04);
	overflow: hidden;
	position: relative;
	transition: transform 0.35s ease, background 0.35s ease;
}

.mahroo-news-card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(
		160deg,
		rgba(153, 0, 0, 0.45) 0%,
		rgba(255, 255, 255, 0.08) 40%,
		rgba(255, 255, 255, 0.04) 100%
	);
	z-index: 0;
	pointer-events: none;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
}

.mahroo-news-card:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.06);
}

.mahroo-news-card__media {
	display: block;
	position: relative;
	z-index: 1;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background-color: #0a0e0e;
}

.mahroo-news-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 1;
	filter: none;
	mix-blend-mode: normal;
	transition: transform 0.45s ease;
}

.mahroo-news-card:hover .mahroo-news-card__media img {
	transform: scale(1.04);
}

.mahroo-news-card__body {
	position: relative;
	z-index: 1;
	padding: 22px 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1 1 auto;
}

.mahroo-news-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.mahroo-news-card__cat {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #0a0e0e;
	background: var(--pf-clr-pr-1, #990000);
	text-decoration: none;
}

.mahroo-news-card__cat:hover {
	color: #0a0e0e;
	opacity: 0.9;
}

.mahroo-news-card__date {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
}

.mahroo-news-card__title {
	margin: 0;
	font-size: 20px;
	line-height: 1.35;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.mahroo-news-card__title a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
}

.mahroo-news-card__title a:hover {
	color: var(--pf-clr-pr-1, #990000);
}

.mahroo-news-v2__btn {
	margin-top: 8px;
}

@media only screen and (max-width: 991px) {
	.mahroo-news-v2__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.pf-blog-1-area.mahroo-news-v2 {
		padding-bottom: 80px;
	}

	.mahroo-news-v2__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.mahroo-news-card__title {
		font-size: 18px;
	}
}

html[dir="rtl"] .mahroo-news-card__title,
html[dir="rtl"] .mahroo-news-card__meta {
	text-align: right;
}

/*
 * About decorative sec-bg spheres stay hidden (empty/black placeholders).
 * About a1-earth globe stays FULLY visible (restored) with mix-blend + GSAP.
 */
img.pf-about-1-bg-shape,
img.pf-feature-1-bg-shape,
img[alt="a1-sec-bg"],
img[alt="f1-sec-bg"],
img[src*="a1-sec-bg"],
img[src*="f1-sec-bg"] {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	max-width: 0 !important;
	max-height: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	left: -99999px !important;
}

/*
 * Consulting 3-col block (heading + cards + phone): opaque site bg lid so
 * About earth / glow cannot show through. Scoped to those Elementor IDs only
 * — do NOT use :has(.pf-services-1-sec-title) (also matches solution/testimonials
 * and creates a z-index sandwich that lets About paint under Services).
 */
.elementor-element-8e294d3,
.elementor-element-bdbec59,
.elementor-element-21461c2,
.elementor-element-ebd4fec,
.elementor-element-22c9192,
.elementor-element-aafa43d,
.elementor-element-3506760,
.elementor-element-495755f,
.elementor-element-46916cf,
.elementor-element-8e294d3 .elementor-widget-wrap,
.elementor-element-bdbec59 .elementor-widget-wrap,
.elementor-element-21461c2 .elementor-widget-wrap,
.elementor-element-8e294d3 .elementor-widget-container,
.elementor-element-bdbec59 .elementor-widget-container,
.elementor-element-21461c2 .elementor-widget-container,
.pf-services-1-area,
.pf-services-1-item-row,
.pf-services-1-item,
.pf-services-1-call-btn {
	background-color: #0a0e0e !important;
	background-image: none !important;
}

.elementor-element-8e294d3,
.elementor-element-bdbec59,
.elementor-element-21461c2 {
	isolation: isolate;
	position: relative;
	/* Keep above About (z:1) for opaque lid, but under sticky header (z:100+) */
	z-index: 2;
	overflow: hidden;
}

/*
 * Gap between consulting heading and 3-col cards was margin-top:70px on
 * bdbec59 — margins are transparent so About earth showed through.
 * Move that space into padding so the section bg fills it.
 * Extra top padding also gives icon teal glows room (page-17 zeroed area pad).
 */
.elementor-element-bdbec59 {
	margin-top: 0 !important;
	padding-top: 90px !important;
	padding-bottom: 0 !important;
}

.elementor-element-8e294d3 {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.pf-services-1-area {
	isolation: isolate;
	position: relative;
	z-index: 2;
	/* Visible so icon ::after blur isn’t clipped; outer section still lids earth. */
	overflow: visible;
	/* page-17 sets .495755f .tx-section { padding:0 } — restore glow room */
	padding-top: 36px !important;
	/* Phone CTA is in the NEXT section — keep this tight so it sits under the line */
	padding-bottom: 16px !important;
}

.elementor-element-495755f .tx-section.pf-services-1-area,
.elementor-17 .elementor-element-495755f .tx-section {
	padding-top: 36px !important;
	padding-bottom: 16px !important;
	overflow: visible;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.pf-services-1-area {
		padding-top: 28px !important;
		padding-bottom: 12px !important;
	}

	.elementor-element-495755f .tx-section.pf-services-1-area,
	.elementor-17 .elementor-element-495755f .tx-section {
		padding-bottom: 12px !important;
	}
}

@media (max-width: 767px) {
	.elementor-element-bdbec59 {
		padding-top: 64px !important;
		padding-bottom: 0 !important;
	}

	.pf-services-1-area {
		padding-top: 24px !important;
		padding-bottom: 10px !important;
	}

	.elementor-element-495755f .tx-section.pf-services-1-area,
	.elementor-17 .elementor-element-495755f .tx-section {
		padding-bottom: 10px !important;
	}
}

.pf-services-1-area::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: #0a0e0e;
	pointer-events: none;
}

.pf-services-1-item-row,
.pf-services-1-call-btn {
	position: relative;
	z-index: 1;
}

/* Icon teal aura: don’t clip; strengthen soft glow above + below */
.pf-services-1-item {
	overflow: visible;
}

.pf-services-1-item .icon {
	overflow: visible;
	/* Room for blurred ::after without eating layout */
	padding: 28px;
	margin: -28px 0 9px;
}

.pf-services-1-item .icon::after {
	width: 96px;
	height: 96px;
	filter: blur(48px);
	opacity: 0.9;
	z-index: -1;
}

/*
 * About: keep earth + glow + animations. Solid bg + isolation so the
 * globe cannot paint into Hero / Services. Do NOT use color-dodge —
 * with the red brand globe it fringes green/cyan on dark edges.
 */
.elementor-element-2faeed6,
.pf-about-1-area {
	background-color: #0a0e0e !important;
	overflow: hidden;
	isolation: isolate;
	position: relative;
	z-index: 1;
}

.pf-about-1-earth-img,
.pf-about-1-earth-img img {
	mix-blend-mode: normal !important;
}

/*
 * Hero + clients must sit ABOVE About (z:1). On shorter viewports the
 * About earth/glow (absolute, top:-30%) extends past the consulting lid
 * and was painting into the hero — wireframe globe over the person/badge.
 */
.elementor-element-608b8ba,
.pf-hero-1-area,
.elementor-element-751e351,
.elementor-element-1a652f1,
.elementor-element-53a6916,
.elementor-element-91af0a4 {
	position: relative;
	z-index: 3;
	isolation: isolate;
}

.elementor-element-608b8ba,
.elementor-element-751e351 {
	background-color: #0a0e0e;
	overflow: hidden;
}

.pf-hero-1-area {
	overflow-x: clip;
	overflow-y: hidden;
}

/* Pull About glow back so it cannot leap over short mobile lids */
@media only screen and (max-width: 1199px) {
	.pf-about-1-glow-1,
	.pf-about-1-glow-2 {
		top: 0 !important;
		max-height: 100%;
		overflow: hidden;
		pointer-events: none;
	}

	.pf-about-1-earth {
		overflow: hidden;
	}

	.pf-about-1-earth-img {
		/* Keep globe inside About — no bleed into hero via mix-blend */
		isolation: isolate;
		max-width: 100%;
	}
}

/*
 * Consulting phone CTA → About: 30% closer.
 * Was phone section pad-bottom 190 + about pad-top 140.
 */
.elementor-element-21461c2 {
	padding-bottom: 133px !important; /* 190 * 0.7 */
}

.pf-about-1-area {
	padding-top: 98px !important; /* 140 * 0.7 */
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.elementor-element-21461c2 {
		padding-bottom: 100px !important;
	}

	.pf-about-1-area {
		padding-top: 70px !important;
	}
}

@media (max-width: 767px) {
	.elementor-element-21461c2 {
		padding-bottom: 70px !important;
	}

	.pf-about-1-area {
		padding-top: 56px !important;
	}
}

.pf-about-1-glow-1 {
	top: 0 !important;
}

.pf-about-1-glow-1,
.pf-about-1-glow-2,
.pf-feature-1-bg-glow-1,
.pf-feature-1-bg-glow-2 {
	display: block !important;
	visibility: visible !important;
}

/* Icon teal auras stay (those are intentional) */

.pf-footer-1-back-top {
	position: relative;
	z-index: 5;
}

.pf-footer-1-back-top-icon.scroll_top {
	position: relative;
	z-index: 5;
	pointer-events: auto !important;
	cursor: pointer;
	background: transparent;
	border: 0;
	padding: 8px;
	line-height: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/*
 * Stats row (13+ / 25+ / 93+): center on LTR.
 * Empty 20% spacer columns + left-aligned items shift the group left in EN;
 * FA/RTL looked fine because direction flips the bias.
 */
html[dir="ltr"] .elementor-element-9ad0157 > .elementor-container {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: clamp(28px, 5vw, 80px);
	width: 100%;
	max-width: 100%;
}

html[dir="ltr"]
	.elementor-element-9ad0157
	> .elementor-container
	> .elementor-column:not(:has(.elementor-element-populated)) {
	display: none !important;
}

html[dir="ltr"]
	.elementor-element-9ad0157
	> .elementor-container
	> .elementor-column:has(.elementor-element-populated) {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto;
}

html[dir="ltr"] .elementor-element-9ad0157 .pf-counter-1-item {
	width: auto;
	max-width: none;
	margin-inline: 0;
}

html[dir="ltr"] .elementor-element-c83b110 .btn-wrapper {
	text-align: center;
}

/*
 * Features → Global offices: 50% closer than prior spacing.
 * Effective gap was ~feature pad-bottom 200 (Elementor) + overview pad-top 216.
 */
.elementor-element-2658f58 .tx-section,
.pf-feature-1-area {
	padding-bottom: 100px !important;
}

.pf-overview-1-area {
	padding-top: 108px !important;
}

/* Offices globe section — main title 30% smaller than default pf-sec-title-1 */
.pf-overview-1-sec-title .pf-sec-title-1 {
	font-size: 31.5px !important; /* 45px × 0.7 */
	letter-spacing: -0.84px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.pf-overview-1-sec-title .pf-sec-title-1 {
		font-size: 28px !important; /* 40px × 0.7 */
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.pf-overview-1-sec-title .pf-sec-title-1 {
		font-size: 24.5px !important; /* 35px × 0.7 */
		letter-spacing: -0.7px;
	}
}

@media (max-width: 767px) {
	.pf-overview-1-sec-title .pf-sec-title-1 {
		font-size: 18.2px !important; /* 26px × 0.7 */
		letter-spacing: 0;
	}
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
	.pf-overview-1-sec-title .pf-sec-title-1 {
		font-size: 21px !important; /* 30px × 0.7 */
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.elementor-element-2658f58 .tx-section,
	.pf-feature-1-area {
		padding-bottom: 53px !important;
	}

	.pf-overview-1-area {
		padding-top: 53px !important;
	}
}

@media (max-width: 767px) {
	.elementor-element-2658f58 .tx-section,
	.pf-feature-1-area {
		padding-bottom: 35px !important;
	}

	.pf-overview-1-area {
		padding-top: 53px !important;
	}
}

/*
 * Solution (pinned images) → Features ("Our Unique Approach"):
 * Cut the remaining gap in half again (50% less than current).
 */
.elementor-element-7e6c85a .tx-section,
.pf-solution-1-area {
	padding-bottom: 72px !important; /* was 144 */
}

/* Desktop: soften the left text panel blur (was 20px → 10px → 5px). */
@media (min-width: 992px) {
	.pf-solution-1-item-card {
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
	}
}

.elementor-element-71ecaae {
	margin-top: 15px !important; /* was 30 */
}

.elementor-element-2658f58 .tx-section,
.pf-feature-1-area {
	padding-top: 57px !important; /* was 114 */
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.elementor-element-7e6c85a .tx-section,
	.pf-solution-1-area {
		padding-bottom: 36px !important;
	}

	.elementor-element-2658f58 .tx-section,
	.pf-feature-1-area {
		padding-top: 45px !important;
	}
}

@media (max-width: 767px) {
	.elementor-element-7e6c85a .tx-section,
	.pf-solution-1-area {
		padding-bottom: 15px !important;
	}

	.elementor-element-2658f58 .tx-section,
	.pf-feature-1-area {
		padding-top: 30px !important;
	}

	/* Hero: hide concentric glow overlay on the person */
	.pf-hero-1-glow {
		display: none !important;
	}

	/* Kill horizontal page scroll — avoid overflow-x:clip on html/body
	   (breaks ScrollTrigger pin on iOS). Use hidden + max-width instead. */
	html,
	body {
		overflow-x: hidden;
		max-width: 100%;
	}

	html[dir="ltr"] .pf-hero-1-area.wa-fix,
	html[dir="ltr"] .pf-hero-1-area,
	.pf-hero-1-area {
		overflow-x: clip !important;
	}

	.pf-faq-1-area.wa-fix,
	.pf-faq-1-all-btn-wrap.fix {
		overflow-x: clip !important;
	}

	/* Wave line only — never the orb SVG inside the button */
	.pf-faq-1-all-btn-wrap > svg {
		width: 100% !important;
		max-width: 100%;
	}

	.pf-touch-1-area {
		overflow-x: clip;
	}

	.pf-touch-1-shape,
	.pf-touch-1-glow,
	.pf-touch-1-glow-2 {
		max-width: 70vw;
	}

	.pf-footer-1-area {
		overflow-x: clip;
	}

	/*
	 * Client logos under hero: CSS-only marquee on mobile.
	 * Avoid scrollLeft / overflow scroll compositing — that flickered
	 * while the page was touch-scrolled.
	 */
	.pf-client-1-slider.is-mahroo-marquee,
	.pf-client-1-slider.client-1-active {
		overflow: hidden !important;
		scrollbar-width: none;
		mask-image: none !important;
		-webkit-mask-image: none !important;
		touch-action: pan-y;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}

	.pf-client-1-slider.is-mahroo-marquee::-webkit-scrollbar,
	.pf-client-1-slider.client-1-active::-webkit-scrollbar {
		display: none;
	}

	.pf-client-1-slider.is-mahroo-marquee .mahroo-marquee-track {
		width: max-content;
		display: flex;
		flex-wrap: nowrap;
		/* Stable compositor layer — no will-change thrash on page scroll */
		will-change: auto;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		animation-play-state: running !important;
	}

	/* Sticky :hover on touch was pausing the strip mid-scroll */
	.pf-client-1-slider.is-mahroo-marquee:hover .mahroo-marquee-track {
		animation-play-state: running !important;
	}

	.txa-offcanvas-search-form-input::placeholder {
		color: rgba(255, 255, 255, 0.45);
		opacity: 1;
	}

	.txa-offcanvas-search-form-btn {
		pointer-events: auto !important;
		z-index: 2;
	}

	.pf-c1-brand-slider .swiper-slide {
		height: auto;
		overflow: hidden;
	}

	.pf-c1-brand-slider .pf-client-1-logo,
	.pf-contact-1-brand-logos .pf-client-1-logo {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Footer: stack columns, tighten gap, consistent alignment */
	.mahroo-site-footer {
		padding-top: 40px;
		padding-bottom: 40px;
		overflow: hidden;
	}

	.mahroo-site-footer > .container > .row:first-of-type {
		row-gap: 8px;
	}

	.mahroo-site-footer > .container > .row:first-of-type > [class*="col-"] {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		margin-bottom: 28px !important;
	}

	.mahroo-site-footer .pf-footer-1-col-title,
	.mahroo-site-footer .widget-title {
		margin-bottom: 12px;
	}

	.mahroo-site-footer .pf-footer-1-menu li:not(:last-child) {
		margin-bottom: 8px;
	}

	.mahroo-site-footer .row.mt-40 {
		margin-top: 12px !important;
		padding-top: 24px;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.mahroo-site-footer .row.mt-40 > [class*="col-"] {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		text-align: start;
		margin-bottom: 12px !important;
	}

	.mahroo-site-footer .pf-footer-1-copyright-text {
		text-align: start;
		margin-bottom: 8px;
	}

	.mahroo-site-footer .pf-footer-1-copyright-menu {
		justify-content: flex-start;
		gap: 8px 18px;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.mahroo-site-footer .pf-footer-1-back-top {
		text-align: center;
		margin-top: 8px;
	}

	.mahroo-site-footer .pf-footer-1-shape {
		display: none;
	}

	html[dir="rtl"] .mahroo-site-footer .row.mt-40 > [class*="col-"],
	html[dir="rtl"] .mahroo-site-footer .pf-footer-1-copyright-text {
		text-align: right;
	}

	html[dir="rtl"] .mahroo-site-footer .pf-footer-1-copyright-menu {
		justify-content: flex-start;
	}

	/*
	 * Sticky mobile header: Bootstrap .position-absolute !important was
	 * blocking fixed sticky, so logo/hamburger vanished on scroll.
	 */
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 200 !important;
		transform: translateY(0) !important;
		padding: 10px 0;
		background: linear-gradient(
			180deg,
			rgba(153, 0, 0, 0.22) 0%,
			rgba(10, 14, 14, 0.94) 72%
		);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		box-shadow:
			0 8px 28px rgba(0, 0, 0, 0.35),
			inset 0 -1px 0 rgba(153, 0, 0, 0.35);
	}

	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .pf-header-1-action-link,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .pf-header-1-action-link {
		background: rgba(255, 255, 255, 0.06);
	}
}

/* Mobile + tablet: never hide sticky header with -150% slide-away */
@media (max-width: 991px) {
	.txa_sticky_header.txa_sticky,
	.txa_sticky_header.txa_sticky.txa_sticky_show,
	.txa_sticky_header.is-mahroo-stuck {
		transform: translateY(0) !important;
	}

	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 200 !important;
		/* ~20% tighter than the resting header */
		padding: 8px 0;
		background: linear-gradient(
			180deg,
			rgba(153, 0, 0, 0.22) 0%,
			rgba(10, 14, 14, 0.94) 72%
		);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		box-shadow:
			0 8px 28px rgba(0, 0, 0, 0.35),
			inset 0 -1px 0 rgba(153, 0, 0, 0.35);
	}

	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .pf-header-1-logo,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .pf-header-1-logo {
		width: min(120px, 46vw) !important;
		max-height: 38px !important;
	}

	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .pf-header-1-action-link,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .pf-header-1-action-link {
		transform: scale(0.8);
		transform-origin: center center;
	}

	/*
	 * Keep EN/فا readable when the sticky bar shrinks — do not scale
	 * the language control (0.8 made ~13px text illegible).
	 */
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .mahroo-lang-switch,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .mahroo-lang-switch {
		transform: none;
		margin-inline-end: 8px;
	}

	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .mahroo-lang-switch a,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .mahroo-lang-switch a {
		min-width: 34px;
		height: 32px;
		padding: 0 9px;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.02em;
	}

	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .pf-header-1-action-link svg,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .pf-header-1-action-link svg,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .pf-menu-btn-1 svg,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .pf-menu-btn-1 svg {
		width: 20px;
		height: 20px;
	}
}


/*
 * Brand logos: kill 3D hover flip (desktop + mobile).
 * Dual stacked imgs were also causing the contact-logo glitch.
 */
.pf-client-1-logo {
	perspective: none !important;
	transform-style: flat !important;
	overflow: hidden;
}

.pf-client-1-logo img:nth-child(2),
.pf-client-1-logo:hover img:nth-child(2),
.pf-contact-1-brand-slider .pf-client-1-logo img:nth-child(2),
.pf-contact-1-brand-logos .pf-client-1-logo img:nth-child(2) {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.pf-client-1-logo img:nth-child(1),
.pf-client-1-logo:hover img:nth-child(1),
.pf-contact-1-brand-slider .pf-client-1-logo img:nth-child(1),
.pf-contact-1-brand-logos .pf-client-1-logo img:nth-child(1) {
	position: static !important;
	opacity: 0.64 !important;
	transform: none !important;
	transition: none !important;
}

.pf-contact-1-brand-slider .pf-client-1-logo img:nth-child(1),
.pf-contact-1-brand-logos .pf-client-1-logo img:nth-child(1) {
	opacity: 1 !important;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.pf-contact-1-brand-slider .pf-client-1-logo,
.pf-contact-1-brand-logos .pf-client-1-logo {
	height: auto;
	min-height: 0;
	overflow: hidden;
}

/*
 * Solution / services pin-scroll on mobile:
 * restore viewport cards; avoid GPU flicker (no backdrop-filter, stable svh).
 */
@media (max-width: 991px) {
	/* overflow:hidden on wrap breaks ScrollTrigger pin */
	.pf-solution-1-wrap {
		overflow: visible !important;
		background-attachment: scroll;
	}

	/* backdrop-filter over a pinned layer flickers hard on iOS while scrolling */
	.pf-solution-1-item-card {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		background: rgba(10, 14, 14, 0.55) !important; /* was 0.45; +10% darker */
	}

	.pf-solution-1-item-card-single {
		/* svh is stable when the mobile URL bar shows/hides (dvh/vh are not) */
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100vh !important;
		min-height: 100svh !important;
		padding: 72px 0 40px !important;
		box-sizing: border-box;
		justify-content: center;
	}

	/* Initial hide only — GSAP owns opacity after init (avoid CSS fight) */
	.pf-solution-1-item-card-single:not(.pf-s1-card-1) {
		opacity: 0;
	}

	.pf-solution-1-item-card-single .card-subtitle {
		margin-bottom: 28px;
	}

	.pf-solution-1-bg-img {
		min-height: 100vh !important;
		min-height: 100svh !important;
		height: 100vh !important;
		height: 100svh !important;
		will-change: auto;
		transform: translateZ(0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.pf-solution-1-bg-img img {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	/* Sticky header glass also thrash-composites while scrolling */
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky,
	.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		background: linear-gradient(
			180deg,
			rgba(153, 0, 0, 0.28) 0%,
			rgba(10, 14, 14, 0.96) 70%
		) !important;
	}
}

/* Overview globe: visible by default until ScrollTrigger plays (no flash-hide). */
.pf-overview-1-bg-circle img {
	opacity: 1;
}
.pf-overview-1-tabs {
	opacity: 1;
}

/* Hamburger offcanvas socials — circular icons like hero header, no labels */
.txa-offcanvas-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.txa-offcanvas-social li {
	overflow: visible;
	margin: 0;
	list-style: none;
}

.txa-offcanvas-social-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: none;
	opacity: 1;
	gap: 0;
	font-size: inherit;
	color: inherit;
	line-height: 1;
}

.txa-offcanvas-social-item:hover {
	transform: none;
	opacity: 1;
}

.txa-offcanvas-social-item .icon {
	position: relative;
	z-index: 1;
	display: flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	flex: 0 0 auto;
	font-size: 15px;
	color: var(--pf-clr-white-1, #fff);
	opacity: 0.72;
	background: linear-gradient(
		260deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(153, 0, 0, 0) 30%
	);
	transition: all 0.4s var(--pf-cube-2, ease);
}

.txa-offcanvas-social-item .icon::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	padding: 1.5px;
	background: linear-gradient(
		260deg,
		rgba(255, 255, 255, 0.48) 0%,
		rgba(255, 255, 255, 0.1) 30%
	);
	z-index: -1;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	-webkit-mask-composite: xor;
}

.txa-offcanvas-social-item:hover .icon {
	color: var(--pf-clr-pr-1, #990000);
	opacity: 1;
	background: linear-gradient(
		260deg,
		rgba(255, 255, 255, 0.45) 0%,
		rgba(255, 255, 255, 0.05) 0%
	);
}

.txa-offcanvas-social-item:hover .icon::before {
	background: linear-gradient(
		260deg,
		rgba(153, 0, 0, 0.48) 0%,
		rgba(153, 0, 0, 0.1) 30%
	);
}

.txa-offcanvas-box:is(.has-default) .txa-offcanvas-social-item {
	color: inherit;
}

.txa-offcanvas-box:is(.has-default) .txa-offcanvas-social-item:hover {
	opacity: 1;
}

/* Contact form AJAX status */
.mahroo-contact-form-status {
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 4px;
	font-size: 0.95rem;
}

.mahroo-contact-form-status.is-success {
	background: rgba(16, 185, 129, 0.12);
	color: #065f46;
}

.mahroo-contact-form-status.is-error {
	background: rgba(239, 68, 68, 0.12);
	color: #991b1b;
}

/* ——— Site logo: fixed header footprint for any upload size ———
 * Brand canvas is 1529×450. Slot keeps that aspect so small/huge
 * files always render the same visual size in the header/footer.
 */
:root {
	--mahroo-logo-w: 190px; /* ≈ 56px × 1529/450 */
	--mahroo-logo-max-w: min(220px, 58vw);
}

.pf-header-1-logo,
.pf-footer-1-logo,
a.tx-logo.pf-header-1-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: min(var(--mahroo-logo-w), var(--mahroo-logo-max-w));
	aspect-ratio: 1529 / 450;
	height: auto;
	max-height: 64px;
	line-height: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.pf-header-1-logo img,
.pf-footer-1-logo img,
.pf-header-1-logo .mahroo-site-logo,
.pf-footer-1-logo .mahroo-site-logo,
img.mahroo-site-logo {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain;
	object-position: center;
}

html[dir="rtl"] .pf-header-1-logo,
html[dir="rtl"] .pf-footer-1-logo {
	justify-content: center;
}

/* Sticky header: keep the same logo size (no jump) */
.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky .pf-header-1-logo,
.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck .pf-header-1-logo {
	width: min(var(--mahroo-logo-w), var(--mahroo-logo-max-w));
	aspect-ratio: 1529 / 450;
	max-height: 64px;
}

@media (max-width: 767px) {
	:root {
		--mahroo-logo-w: 150px;
		--mahroo-logo-max-w: min(168px, 52vw);
	}

	.pf-header-1-logo,
	.pf-footer-1-logo,
	a.tx-logo.pf-header-1-logo {
		max-height: 48px;
	}
}

/* ——— Brand-red tints (replace cyan from difference + red) ——— */

/* Header pill border: lime → brand red */
.pf-header-1-action-link::before {
	background: linear-gradient(
		90deg,
		rgba(153, 0, 0, 1) 0%,
		rgba(255, 80, 80, 0.85) 100%
	) !important;
}

/* Sticky header (desktop too): soft brand wash */
.mahroo-site-header .pf-header-1-area.txa_sticky_header.txa_sticky,
.mahroo-site-header .pf-header-1-area.txa_sticky_header.is-mahroo-stuck {
	background: linear-gradient(
		180deg,
		rgba(153, 0, 0, 0.2) 0%,
		rgba(10, 14, 14, 0.94) 72%
	);
	box-shadow:
		0 8px 28px rgba(0, 0, 0, 0.35),
		inset 0 -1px 0 rgba(153, 0, 0, 0.32);
}

/*
 * Hero background ship: show the uploaded photo with a neutral dim only.
 * Theme default was opacity:16% over the dark page — that washed in a
 * cool/teal cast. No mix-blend, no colored glow, no hue filters.
 */
.pf-hero-1-bg {
	opacity: 1 !important;
	isolation: isolate;
	z-index: 0;
}

.pf-hero-1-bg img {
	opacity: 1 !important;
	mix-blend-mode: normal !important;
	/* Neutral dim — brightness only, no hue/saturation shift */
	filter: brightness(0.72) !important;
}

.pf-hero-1-glow {
	display: none !important;
}

/* Hero person: natural photo — no color wash / grayscale */
.pf-hero-1-img-main {
	position: relative;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
	isolation: auto;
	background: transparent;
	z-index: 2;
}

.pf-hero-1-img-main::after {
	content: none !important;
	display: none !important;
}

.pf-hero-1-img-main .h1-ani-img,
.pf-hero-1-img-main img {
	filter: none !important;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
}

/* Blog / news images: natural color — no brand hue overlay */
.pf-blog-1-item-single .item-img {
	isolation: auto;
	background: transparent;
}

.pf-blog-1-item-single .item-img::before {
	content: none !important;
	display: none !important;
}

.pf-blog-1-item-single .item-img img {
	filter: none !important;
	mix-blend-mode: normal !important;
}

.pf-blog-1-item-single:hover .item-img img {
	filter: none !important;
}

.pf-blog-2-item-single .item-img {
	isolation: auto;
	position: relative;
	background: transparent;
}

.pf-blog-2-item-single .item-img::after {
	content: none !important;
	display: none !important;
}

.pf-blog-2-item-single .item-img img {
	filter: none !important;
	mix-blend-mode: normal !important;
}

.pf-blog-2-item-single .item-img .item-date {
	z-index: 2;
}

/* ——— Primary buttons: white label (not brand-red text) ——— */
.pf-pr-1,
a.pf-pr-1,
button.pf-pr-1,
.tx-button.pf-pr-1,
.pf-solution-1-item-card-single .pf-pr-1,
.pf-hero-1-content .pf-pr-1 {
	color: #fff !important;
}

.pf-pr-1:hover,
a.pf-pr-1:hover,
button.pf-pr-1:hover,
.tx-button.pf-pr-1:hover {
	color: #fff !important;
	background-color: var(--pf-clr-pr-1, #990000) !important;
}

.pf-pr-1::before {
	background: linear-gradient(
		90deg,
		rgba(153, 0, 0, 1) 0%,
		rgba(180, 40, 40, 0.85) 100%
	) !important;
}

/* Solution step numbers: white digits on red active fill */
.pf-solution-1-item-number-btn:nth-child(1) {
	color: #fff !important;
}

/* Contact subject chips: white text on selected/hover brand red */
.pf-form-1-radio input:checked ~ span,
.pf-form-1-radio span:hover {
	background: var(--pf-clr-pr-1, #990000) !important;
	color: #fff !important;
}

/*
 * Offices globe pins on mobile/tablet:
 * keep absolute map pins, but inset from edges so dots stay on the
 * globe (and fully inside the viewport) for both LTR and RTL.
 */
@media (max-width: 991px) {
	.pf-overview-1-wrap {
		overflow: hidden;
	}

	.pf-overview-1-tabs {
		width: 90% !important;
		left: 5% !important;
		right: auto !important;
		transform: translateY(-50%);
	}

	.pf-overview-1-tabs-btn {
		display: block !important;
		width: 100%;
		height: 0;
		position: relative;
	}

	.pf-overview-1-tabs-btn-link:is(.btn-1),
	.pf-overview-1-tabs-btn-link:is(.btn-2),
	.pf-overview-1-tabs-btn-link:is(.btn-3),
	.pf-overview-1-tabs-btn-link:is(.btn-4),
	.pf-overview-1-tabs-btn-link:is(.btn-5) {
		position: absolute !important;
		margin: 0 !important;
	}

	.pf-overview-1-tabs-btn-link:is(.btn-1) {
		top: 58% !important;
		left: 24% !important;
		right: auto !important;
		bottom: auto !important;
	}

	.pf-overview-1-tabs-btn-link:is(.btn-2) {
		top: 10% !important;
		left: 40% !important;
		right: auto !important;
		bottom: auto !important;
	}

	.pf-overview-1-tabs-btn-link:is(.btn-3) {
		top: auto !important;
		bottom: 46% !important;
		right: 26% !important;
		left: auto !important;
	}

	.pf-overview-1-tabs-btn-link:is(.btn-4) {
		top: auto !important;
		bottom: 10% !important;
		right: 22% !important;
		left: auto !important;
	}

	.pf-overview-1-tabs-btn-link:is(.btn-5) {
		top: auto !important;
		bottom: 30% !important;
		right: 14% !important;
		left: auto !important;
	}
}

/* Farsi testimonials: undo FA RTL auto-flip so chevrons match next/prev */
html[dir="rtl"] .mahroo-t-v2 .mahroo-t-nav .pf-t1-btn-prev i,
html[dir="rtl"] .mahroo-t-v2 .mahroo-t-nav .pf-t1-btn-next i {
	transform: scaleX(-1);
}

/* News category pills: white label on dimmer brand red */
.mahroo-news-card__cat {
	color: #fff !important;
	background: rgba(153, 0, 0, 0.72) !important;
}

.mahroo-news-card__cat:hover {
	color: #fff !important;
	background: rgba(153, 0, 0, 0.88) !important;
	opacity: 1;
}

/*
 * Search panel: keep ABOVE the dim overlay (header z-index is only 8).
 * Keep the original panel look; only make the field a clear textbox.
 */
.pf-header-1-area:has(.txa-search-box.active) {
	z-index: 220 !important;
}

.txa-search-box.active {
	z-index: 230 !important;
	pointer-events: auto !important;
}

.txa-search-title {
	color: rgba(255, 255, 255, 0.92) !important;
}

.txa-search-form,
.txa-search-form-input {
	pointer-events: auto !important;
	-webkit-user-select: text !important;
	user-select: text !important;
}

/* Hide the old single underline — replaced by a real textbox */
.txa-search-form::after {
	display: none !important;
	content: none !important;
}

.txa-search-form-input {
	width: 100% !important;
	min-height: 48px !important;
	padding: 12px 16px !important;
	margin: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	caret-color: #fff !important;
	font-size: 16px !important;
	font-weight: 300 !important;
	line-height: 1.4 !important;
	outline: none !important;
	box-shadow: none !important;
}

.txa-search-form-input:focus {
	border-color: rgba(255, 255, 255, 0.55) !important;
	background: rgba(255, 255, 255, 0.1) !important;
}

.txa-search-form-input::placeholder {
	color: rgba(255, 255, 255, 0.45) !important;
	opacity: 1 !important;
}

/* Empty: caret at visual end of placeholder (EN right / FA left) */
html[dir="ltr"] .txa-search-form-input:placeholder-shown {
	text-align: right;
	direction: ltr;
}

html[dir="ltr"] .txa-search-form-input:not(:placeholder-shown) {
	text-align: left;
	direction: ltr;
}

html[dir="rtl"] .txa-search-form-input:placeholder-shown {
	text-align: left;
	direction: rtl;
}

html[dir="rtl"] .txa-search-form-input:not(:placeholder-shown) {
	text-align: right;
	direction: rtl;
}

/* Offcanvas search — same simple textbox */
.txa-offcanvas-search-form-input {
	min-height: 48px !important;
	padding: 12px 16px !important;
	padding-inline-start: 48px !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	caret-color: #fff !important;
	pointer-events: auto !important;
	-webkit-user-select: text !important;
	user-select: text !important;
}

.txa-offcanvas-search-form-input::placeholder {
	color: rgba(255, 255, 255, 0.45) !important;
	opacity: 1 !important;
}

.txa-offcanvas-search-form-input:focus {
	border-color: rgba(255, 255, 255, 0.55) !important;
	outline: none;
}

.txa-offcanvas-search-form-btn {
	pointer-events: auto !important;
	z-index: 2;
}

html[dir="ltr"] .txa-offcanvas-search-form-input:placeholder-shown {
	text-align: right;
}

html[dir="ltr"] .txa-offcanvas-search-form-input:not(:placeholder-shown) {
	text-align: left;
}

html[dir="rtl"] .txa-offcanvas-search-form-input:placeholder-shown {
	text-align: left;
}

html[dir="rtl"] .txa-offcanvas-search-form-input:not(:placeholder-shown) {
	text-align: right;
}

/* ——— About page hero (mahroo/about-hero) ——— */
.mahroo-about-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(560px, 88vh, 860px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #0a0e0e;
	padding: 150px 0 120px;
	box-sizing: border-box;
}

.mahroo-about-hero > .container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.mahroo-about-hero__content {
	max-width: min(640px, 100%);
	overflow: hidden;
}

.mahroo-about-hero__bg img.mahroo-ah-bg-img {
	transform-origin: 50% 50%;
}

.mahroo-about-story__frame.mahroo-about-media {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.mahroo-about-hero__bg img.mahroo-ah-bg-img,
	.mahroo-about-story__frame img {
		transform: none !important;
	}
}

.mahroo-about-hero__content .pf-subtitle-1 {
	margin-bottom: 18px;
}

.mahroo-about-hero__content .title {
	margin-bottom: 20px;
}

.mahroo-about-hero__content .disc {
	margin-bottom: 28px;
	max-width: 34em;
}

.mahroo-about-hero__content .btn-wrap[hidden] {
	display: none !important;
}

.mahroo-about-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.mahroo-about-hero__bg[hidden] {
	display: none !important;
}

.mahroo-about-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.58;
}

.mahroo-about-hero__shade {
	--ah-mx: 42%;
	--ah-my: 38%;
	--ah-tint: 0.276;
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 78% 64% at var(--ah-mx) var(--ah-my),
			rgba(153, 0, 0, calc(0.038 + var(--ah-tint) * 0.083)) 0%,
			rgba(153, 0, 0, calc(0.014 + var(--ah-tint) * 0.028)) 48%,
			transparent 78%
		),
		linear-gradient(
			105deg,
			rgba(10, 14, 14, 0.72) 0%,
			rgba(10, 14, 14, 0.48) 42%,
			rgba(10, 14, 14, 0.18) 100%
		),
		linear-gradient(
			to top,
			rgba(10, 14, 14, 0.4) 0%,
			transparent 48%
		);
}

html[dir="rtl"] .mahroo-about-hero__shade {
	--ah-mx: 58%;
	background:
		radial-gradient(
			ellipse 78% 64% at var(--ah-mx) var(--ah-my),
			rgba(153, 0, 0, calc(0.038 + var(--ah-tint) * 0.083)) 0%,
			rgba(153, 0, 0, calc(0.014 + var(--ah-tint) * 0.028)) 48%,
			transparent 78%
		),
		linear-gradient(
			255deg,
			rgba(10, 14, 14, 0.72) 0%,
			rgba(10, 14, 14, 0.48) 42%,
			rgba(10, 14, 14, 0.18) 100%
		),
		linear-gradient(
			to top,
			rgba(10, 14, 14, 0.4) 0%,
			transparent 48%
		);
}

.mahroo-sections-page {
	background: #0a0e0e;
}

.mahroo-sections-page .mahroo-about-hero__content .title,
.mahroo-sections-page .mahroo-about-story__copy .pf-sec-title-1,
.mahroo-sections-page .mahroo-about-mission__head .pf-sec-title-1,
.mahroo-sections-page .mahroo-about-values__head .pf-sec-title-1,
.mahroo-sections-page .mahroo-about-stats__head .pf-sec-title-1,
.mahroo-sections-page .mahroo-about-process__head .pf-sec-title-1,
.mahroo-sections-page .mahroo-about-cta__inner .pf-sec-title-1 {
	text-wrap: balance;
}

/*
 * About Us body copy: justify on EN + FA for every prose block.
 * Keep headings / labels / stats left|start aligned.
 */
.mahroo-sections-page .mahroo-about-hero__content .disc,
.mahroo-sections-page .mahroo-about-story__body,
.mahroo-sections-page .mahroo-about-story__body p,
.mahroo-sections-page .mahroo-about-mission__panel-text,
.mahroo-sections-page .mahroo-about-mission__panel-text p,
.mahroo-sections-page .mahroo-about-values__item-text,
.mahroo-sections-page .mahroo-about-process__step-text,
.mahroo-sections-page .mahroo-about-cta__text {
	text-align: justify !important;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	hyphens: auto;
}

html[dir="rtl"] .mahroo-sections-page .mahroo-about-hero__content .disc,
html[dir="rtl"] .mahroo-sections-page .mahroo-about-story__body,
html[dir="rtl"] .mahroo-sections-page .mahroo-about-story__body p,
html[dir="rtl"] .mahroo-sections-page .mahroo-about-mission__panel-text,
html[dir="rtl"] .mahroo-sections-page .mahroo-about-mission__panel-text p,
html[dir="rtl"] .mahroo-sections-page .mahroo-about-values__item-text,
html[dir="rtl"] .mahroo-sections-page .mahroo-about-process__step-text,
html[dir="rtl"] .mahroo-sections-page .mahroo-about-cta__text {
	text-align: justify !important;
}

/* About Us eyebrows: plain label — no animated gradient pill border */
.mahroo-sections-page .pf-subtitle-1::before,
.mahroo-sections-page .mahroo-about-eyebrow::before,
.mahroo-sections-page .mahroo-ah-eyebrow::before {
	content: none !important;
	display: none !important;
	animation: none !important;
	background: none !important;
	padding: 0 !important;
}

.mahroo-sections-page .pf-subtitle-1 {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding-inline: 0 !important;
}

@media (max-width: 767px) {
	.mahroo-about-hero {
		min-height: clamp(480px, 82vh, 720px);
		padding: 120px 0 96px;
	}

	.mahroo-about-hero__content .disc {
		margin-bottom: 24px;
	}
}


/* ——— Contact page hero (mahroo/contact-hero) ——— */
.mahroo-contact-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(520px, 78vh, 760px);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #070909;
	padding: 168px 0 72px;
	box-sizing: border-box;
}

.mahroo-contact-hero__grid {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0.35;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 20%, transparent 75%);
}

.mahroo-contact-hero__rail {
	position: absolute;
	top: 0;
	bottom: 0;
	inset-inline-start: 0;
	width: 4px;
	z-index: 3;
	background: linear-gradient(
		180deg,
		transparent 0%,
		#990000 18%,
		#990000 72%,
		transparent 100%
	);
}

.mahroo-contact-hero > .container {
	position: relative;
	z-index: 4;
	width: 100%;
}

.mahroo-contact-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: end;
}

.mahroo-contact-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.mahroo-contact-hero__eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: #990000;
}

.mahroo-contact-hero__title {
	margin: 0 0 18px;
	max-width: min(22rem, 100%);
	font-size: clamp(1.85rem, 3.8vw, 3rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
	text-wrap: balance;
}

html[dir="rtl"] .mahroo-contact-hero__title {
	max-width: 100%;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.5;
	letter-spacing: 0;
	text-wrap: unset;
	word-break: normal;
	overflow-wrap: normal;
}

html[dir="rtl"] .mahroo-contact-hero__copy {
	max-width: none;
}

html[dir="rtl"] .mahroo-contact-hero__layout {
	align-items: center;
}

.mahroo-contact-hero__intro {
	margin: 0;
	max-width: 36em;
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.72);
}

.mahroo-contact-hero__channels {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.mahroo-contact-hero__channel {
	display: grid;
	gap: 4px;
	padding: 16px 18px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-inline-start: 3px solid #990000;
	background: rgba(255, 255, 255, 0.03);
	backdrop-filter: blur(8px);
}

.mahroo-contact-hero__channel-label {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
}

.mahroo-contact-hero__channel-value {
	color: #fff;
	font-size: 1.05rem;
	font-weight: 600;
	text-decoration: none;
	word-break: break-word;
}

a.mahroo-contact-hero__channel-value:hover {
	color: #ffb3b3;
}

.mahroo-contact-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.mahroo-contact-hero__bg[hidden] {
	display: none !important;
}

.mahroo-contact-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.28;
	filter: grayscale(0.35) contrast(1.05);
}

.mahroo-contact-hero__shade {
	--ah-mx: 72%;
	--ah-my: 30%;
	--ah-tint: 0.32;
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 55% 50% at var(--ah-mx) var(--ah-my),
			rgba(153, 0, 0, calc(0.05 + var(--ah-tint) * 0.12)) 0%,
			transparent 70%
		),
		linear-gradient(
			105deg,
			rgba(7, 9, 9, 0.92) 0%,
			rgba(7, 9, 9, 0.78) 48%,
			rgba(7, 9, 9, 0.55) 100%
		);
}

html[dir="rtl"] .mahroo-contact-hero__shade {
	--ah-mx: 28%;
	background:
		radial-gradient(
			ellipse 55% 50% at var(--ah-mx) var(--ah-my),
			rgba(153, 0, 0, calc(0.05 + var(--ah-tint) * 0.12)) 0%,
			transparent 70%
		),
		linear-gradient(
			255deg,
			rgba(7, 9, 9, 0.92) 0%,
			rgba(7, 9, 9, 0.78) 48%,
			rgba(7, 9, 9, 0.55) 100%
		);
}

@media (max-width: 991px) {
	.mahroo-contact-hero {
		min-height: auto;
		padding: 132px 0 56px;
		align-items: flex-start;
	}

	.mahroo-contact-hero__layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.mahroo-contact-hero__title {
		max-width: none;
	}
}

/* ——— Contact map (mahroo/contact-map) ——— */
.mahroo-contact-map {
	background: #0a0e0e;
	padding: 88px 0 96px;
}

.mahroo-contact-map__layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.3fr);
	gap: 28px;
	align-items: stretch;
}

.mahroo-contact-map__info {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 28px 32px;
	background: #111616;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.mahroo-contact-map__eyebrow {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #990000;
}

.mahroo-contact-map__title {
	margin: 0;
	font-size: clamp(1.6rem, 2.4vw, 2.15rem);
	line-height: 1.2;
	color: #fff;
}

.mahroo-contact-map__address {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.65;
}

.mahroo-contact-map__meta {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.mahroo-contact-map__meta-label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
	margin-bottom: 2px;
}

.mahroo-contact-map__meta a {
	color: #fff;
	text-decoration: none;
}

.mahroo-contact-map__meta a:hover {
	color: #ffb3b3;
}

.mahroo-contact-map__directions {
	margin-top: auto;
	align-self: flex-start;
}

.mahroo-contact-map__frame {
	position: relative;
	min-height: 420px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	overflow: hidden;
	background: #151a1a;
}

.mahroo-contact-map__iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	border: 0;
	/* Dark monochrome Google Maps (no Maps API style JSON required). */
	filter: grayscale(1) invert(0.92) contrast(1.08) brightness(0.95);
}

html[dir="rtl"] .mahroo-contact-map__layout {
	direction: rtl;
}

@media (max-width: 991px) {
	.mahroo-contact-map {
		padding: 64px 0 72px;
	}

	.mahroo-contact-map__layout {
		grid-template-columns: 1fr;
	}

	.mahroo-contact-map__frame,
	.mahroo-contact-map__iframe {
		min-height: 320px;
	}
}

/* ——— Contact closing CTA (mahroo/contact-close) ——— */
.mahroo-contact-close {
	background: #070909;
	padding: 0 0 100px;
}

.mahroo-contact-close__band {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
	gap: 28px;
	align-items: center;
	padding: 36px 40px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background:
		linear-gradient(90deg, rgba(153, 0, 0, 0.18) 0%, rgba(17, 22, 22, 0.95) 38%);
	position: relative;
	overflow: hidden;
}

.mahroo-contact-close__band::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: #990000;
}

.mahroo-contact-close__eyebrow {
	margin: 0 0 10px;
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.mahroo-contact-close__title {
	margin: 0 0 12px;
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	line-height: 1.25;
	color: #fff;
	text-wrap: balance;
}

.mahroo-contact-close__text {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.6;
	max-width: 40em;
}

.mahroo-contact-close__actions {
	display: grid;
	gap: 12px;
}

.mahroo-contact-close__btn {
	display: grid;
	gap: 2px;
	padding: 14px 16px;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(0, 0, 0, 0.28);
	transition: border-color 0.2s ease, background 0.2s ease;
}

.mahroo-contact-close__btn:hover {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(0, 0, 0, 0.45);
}

.mahroo-contact-close__btn--primary {
	border-color: rgba(153, 0, 0, 0.7);
	background: rgba(153, 0, 0, 0.22);
}

.mahroo-contact-close__btn--primary:hover {
	border-color: #990000;
	background: rgba(153, 0, 0, 0.38);
}

.mahroo-contact-close__btn-label {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
}

.mahroo-contact-close__btn-value {
	color: #fff;
	font-weight: 600;
	word-break: break-word;
}

@media (max-width: 991px) {
	.mahroo-contact-close {
		padding-bottom: 72px;
	}

	.mahroo-contact-close__band {
		grid-template-columns: 1fr;
		padding: 28px 22px;
	}
}

/* ——— About story (mahroo/about-story) ——— */
.mahroo-about-story {
	position: relative;
	isolation: isolate;
	background: #0a0e0e;
	padding: 110px 0 88px;
	overflow: visible;
}

/*
 * Brand pattern (Apple / Stripe / Linear): vertically center short copy
 * beside media. When copy is longer, the row grows and the image stays
 * centered beside it — never top-stuck with a dead empty band.
 */
.mahroo-about-story__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 48px);
	align-items: center;
}

.mahroo-about-story__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	overflow: visible;
	align-self: center;
}

.mahroo-about-story__copy .pf-subtitle-1 {
	margin-bottom: 16px;
}

.mahroo-about-story__copy .pf-sec-title-1 {
	margin-bottom: 22px;
}

.mahroo-about-story__body {
	max-width: none;
	line-height: 1.75;
}

.mahroo-about-story__body p {
	margin: 0 0 1em;
}

.mahroo-about-story__body p:last-child {
	margin-bottom: 0;
}

.mahroo-about-story__media {
	min-width: 0;
	width: 100%;
	height: auto;
	align-self: center;
}

.mahroo-about-story__media[hidden] {
	display: none !important;
}

.mahroo-about-story__frame {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: 4 / 5;
	max-height: min(720px, 78vh);
	background: rgba(255, 255, 255, 0.04);
	transition:
		transform 0.45s cubic-bezier(0.19, 1, 0.22, 1),
		box-shadow 0.45s ease,
		background 0.35s ease;
}

.mahroo-about-story__frame::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	border-radius: inherit;
	background:
		linear-gradient(
			to top,
			#0a0e0e 0%,
			rgba(10, 14, 14, 0.55) 12%,
			transparent 38%
		),
		linear-gradient(
			160deg,
			rgba(153, 0, 0, 0.18) 0%,
			transparent 42%,
			rgba(10, 14, 14, 0.2) 100%
		);
	transition: opacity 0.4s ease;
}

.mahroo-about-story__frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.mahroo-about-story__frame:hover {
	background: rgba(255, 255, 255, 0.055);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
	transform: translateY(-4px);
}

.mahroo-about-story__frame:hover img {
	transform: scale(1.05);
}

.mahroo-about-story__frame:hover::after {
	opacity: 0.75;
}

html[dir="rtl"] .mahroo-about-story__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

html[dir="rtl"] .mahroo-about-story__copy {
	order: 2;
}

html[dir="rtl"] .mahroo-about-story__media {
	order: 1;
}

@media (max-width: 991px) {
	.mahroo-about-story {
		padding: 72px 0 64px;
	}

	.mahroo-about-story__grid,
	html[dir="rtl"] .mahroo-about-story__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	html[dir="rtl"] .mahroo-about-story__copy,
	html[dir="rtl"] .mahroo-about-story__media {
		order: unset;
	}

	.mahroo-about-story__frame {
		aspect-ratio: 16 / 10;
		min-height: 0;
		max-height: none;
	}
}

/* ——— About mission / vision (mahroo/about-mission) ——— */
.mahroo-about-mission {
	position: relative;
	isolation: isolate;
	background: #0a0e0e;
	padding: 56px 0 110px;
}

.mahroo-about-mission__head {
	max-width: 34em;
	margin-bottom: 48px;
}

.mahroo-about-mission__head .pf-subtitle-1 {
	margin-bottom: 14px;
}

.mahroo-about-mission__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.mahroo-about-mission__panel {
	position: relative;
	padding: clamp(28px, 3.5vw, 40px);
	background:
		linear-gradient(
			165deg,
			rgba(255, 255, 255, 0.05) 0%,
			rgba(255, 255, 255, 0.02) 100%
		);
	overflow: hidden;
	transition:
		transform 0.4s cubic-bezier(0.19, 1, 0.22, 1),
		background 0.35s ease,
		box-shadow 0.4s ease;
}

.mahroo-about-mission__panel::before {
	content: "";
	position: absolute;
	top: 0;
	inset-inline-start: 0;
	width: 3px;
	height: 100%;
	z-index: 2;
	background: #990000;
	transition: width 0.35s ease, background 0.35s ease;
}

.mahroo-about-mission__panel:hover {
	transform: translateY(-6px);
	background:
		linear-gradient(
			165deg,
			rgba(153, 0, 0, 0.12) 0%,
			rgba(255, 255, 255, 0.04) 100%
		);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

.mahroo-about-mission__panel:hover::before {
	width: 4px;
	background: #cc0000;
}

.mahroo-about-mission__panel-title {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
}

.mahroo-about-mission__panel-text {
	line-height: 1.7;
	max-width: 34em;
}

.mahroo-about-mission__panel-text p {
	margin: 0 0 0.85em;
}

.mahroo-about-mission__panel-text p:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.mahroo-about-mission {
		padding: 40px 0 88px;
	}

	.mahroo-about-mission__head {
		margin-bottom: 28px;
	}

	.mahroo-about-mission__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ——— About shared: homepage-matched radius + animated gradient border ——— */
.mahroo-about-story__frame,
.mahroo-about-mission__panel,
.mahroo-about-process__step,
.mahroo-about-cta__inner {
	--mahroo-about-radius: 12px;
	border-radius: var(--mahroo-about-radius);
	border: 1.5px solid transparent;
	position: relative;
	z-index: 1;
	isolation: isolate;
}

.mahroo-about-story__frame::before,
.mahroo-about-mission__panel::after,
.mahroo-about-process__step::before,
.mahroo-about-cta__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(
		160deg,
		rgba(153, 0, 0, 0.55) 0%,
		rgba(255, 255, 255, 0.14) 42%,
		rgba(153, 0, 0, 0.18) 100%
	);
	z-index: 0;
	pointer-events: none;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: rotateGradient 4.5s linear infinite;
}

.mahroo-about-story__frame > *,
.mahroo-about-mission__panel > *,
.mahroo-about-process__step > *,
.mahroo-about-cta__inner > * {
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.mahroo-about-story__frame::before,
	.mahroo-about-mission__panel::after,
	.mahroo-about-process__step::before,
	.mahroo-about-cta__inner::before {
		animation: none;
	}
}

/* ——— About values (mahroo/about-values) ——— */
/* Open layout like homepage .pf-feature-1-item-single — no card boxes */
.mahroo-about-values {
	position: relative;
	isolation: isolate;
	background: #0a0e0e;
	padding: 110px 0 140px;
	overflow: hidden;
}

.mahroo-about-values > .container {
	position: relative;
	z-index: 2;
}

/*
 * Soft veil at section edges so the scroll glow dissolves into the
 * page bg instead of ending on a hard horizontal cut.
 */
.mahroo-about-values::before,
.mahroo-about-values::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	pointer-events: none;
	height: clamp(72px, 12vw, 140px);
}

.mahroo-about-values::before {
	top: 0;
	background: linear-gradient(
		to bottom,
		#0a0e0e 0%,
		rgba(10, 14, 14, 0.7) 40%,
		transparent 100%
	);
}

.mahroo-about-values::after {
	bottom: 0;
	background: linear-gradient(
		to top,
		#0a0e0e 0%,
		rgba(10, 14, 14, 0.75) 45%,
		transparent 100%
	);
}

/* Homepage features hue — fades in/out via .wa-scale-0 + ScrollTrigger scrub */
.mahroo-about-values__glow {
	position: absolute;
	left: 50%;
	width: min(1100px, 140%);
	transform: translateX(-50%);
	text-align: center;
	z-index: 0;
	pointer-events: none;
	display: block !important;
	visibility: visible !important;
}

.mahroo-about-values__glow img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	opacity: 0;
	will-change: transform, opacity;
}

.mahroo-about-values__glow--1 {
	top: 0;
	-webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0%,
		#000 28%,
		#000 100%
	);
	mask-image: linear-gradient(
		to bottom,
		transparent 0%,
		#000 28%,
		#000 100%
	);
}

.mahroo-about-values__glow--2 {
	bottom: 0;
	-webkit-mask-image: linear-gradient(
		to top,
		transparent 0%,
		#000 32%,
		#000 100%
	);
	mask-image: linear-gradient(
		to top,
		transparent 0%,
		#000 32%,
		#000 100%
	);
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.mahroo-about-values {
		padding: 88px 0 112px;
	}
}

@media (max-width: 767px) {
	.mahroo-about-values__glow {
		width: min(900px, 160%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mahroo-about-values__glow {
		display: none !important;
	}
}

.mahroo-about-values__head {
	max-width: 36em;
	margin-bottom: 64px;
}

.mahroo-about-values__head .pf-subtitle-1 {
	margin-bottom: 14px;
}

.mahroo-about-values__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 40px;
}

.mahroo-about-values__item {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transition: none;
}

.mahroo-about-values__item[hidden] {
	display: none !important;
}

.mahroo-about-values__item:hover {
	transform: none;
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}

.mahroo-about-values__icon {
	display: inline-block;
	flex: 0 0 auto;
	width: 72px;
	max-width: 72px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	overflow: hidden;
	line-height: 0;
}

.mahroo-about-values__item:hover .mahroo-about-values__icon {
	transform: none;
	background: transparent;
	border-color: transparent;
}

.mahroo-about-values__icon img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	filter: none;
	opacity: 1;
	transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.mahroo-about-values__item:hover .mahroo-about-values__icon img {
	transform: translateY(8%);
}

.mahroo-about-values__content {
	min-width: 0;
	flex: 1 1 auto;
}

.mahroo-about-values__item-title {
	margin: 0 0 11px;
	color: #fff;
	font-size: 23px;
	line-height: 29px;
	opacity: 0.8;
	transition: color 0.35s ease, transform 0.35s ease;
}

.mahroo-about-values__item:hover .mahroo-about-values__item-title {
	color: var(--pf-clr-pr-1, #990000);
}

html[dir="ltr"] .mahroo-about-values__item:hover .mahroo-about-values__item-title {
	transform: translateX(3px);
}

html[dir="rtl"] .mahroo-about-values__item:hover .mahroo-about-values__item-title {
	transform: translateX(-3px);
}

.mahroo-about-values__item-text {
	margin: 0;
	font-size: 16px;
	line-height: 24px;
	opacity: 0.64;
	max-width: none;
}

@media (max-width: 991px) {
	.mahroo-about-values__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px 28px;
	}
}

@media (max-width: 767px) {
	.mahroo-about-values__item-title {
		font-size: 20px;
		line-height: 26px;
	}

	.mahroo-about-values__icon {
		width: 56px;
		max-width: 56px;
	}
}

@media (max-width: 575px) {
	.mahroo-about-values {
		padding: 64px 0 80px;
	}

	.mahroo-about-values__head {
		margin-bottom: 36px;
	}

	.mahroo-about-values__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

/* ——— About stats (mahroo/about-stats) ——— */
.mahroo-about-stats {
	position: relative;
	isolation: isolate;
	background: #0a0e0e;
	padding: 56px 0 80px;
	overflow: visible;
}

.mahroo-about-stats__head {
	max-width: 34em;
	margin-bottom: 44px;
}

.mahroo-about-stats__head .pf-subtitle-1 {
	margin-bottom: 14px;
}

.mahroo-about-stats__row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	padding: clamp(28px, 4vw, 40px) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mahroo-about-stats__item {
	text-align: center;
	padding: 8px 12px;
	border-radius: 12px;
	transition:
		transform 0.35s cubic-bezier(0.19, 1, 0.22, 1),
		background 0.35s ease;
}

.mahroo-about-stats__item[hidden] {
	display: none !important;
}

.mahroo-about-stats__item:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.03);
}

.mahroo-about-stats__item:hover .mahroo-about-stats__number .suffix {
	color: #cc0000;
}

.mahroo-about-stats__number {
	margin: 0 0 10px;
	color: #fff;
	font-size: clamp(2rem, 4.2vw, 3.1rem);
	line-height: 1.1;
	font-weight: 500;
}

.mahroo-about-stats__number .suffix {
	color: #990000;
	margin-inline-start: 2px;
}

.mahroo-about-stats__label {
	margin: 0;
	line-height: 1.45;
	max-width: 14em;
	margin-inline: auto;
}

@media (max-width: 991px) {
	.mahroo-about-stats__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 28px;
	}
}

@media (max-width: 575px) {
	.mahroo-about-stats {
		padding: 12px 0 88px;
	}

	.mahroo-about-stats__head {
		margin-bottom: 28px;
	}

	.mahroo-about-stats__row {
		grid-template-columns: 1fr 1fr;
		gap: 22px 12px;
	}
}

/* ——— About process (mahroo/about-process) ——— */
.mahroo-about-process {
	position: relative;
	isolation: isolate;
	background: #0a0e0e;
	padding: 40px 0 56px;
}

.mahroo-about-process__head {
	max-width: 34em;
	margin-bottom: 44px;
}

.mahroo-about-process__head .pf-subtitle-1 {
	margin-bottom: 14px;
}

.mahroo-about-process__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	counter-reset: none;
}

.mahroo-about-process__step {
	position: relative;
	padding: clamp(22px, 2.6vw, 30px);
	background: linear-gradient(
		165deg,
		rgba(255, 255, 255, 0.045) 0%,
		rgba(255, 255, 255, 0.015) 100%
	);
	min-height: 100%;
	transition:
		transform 0.4s cubic-bezier(0.19, 1, 0.22, 1),
		background 0.35s ease,
		box-shadow 0.4s ease;
}

.mahroo-about-process__step[hidden] {
	display: none !important;
}

.mahroo-about-process__step:hover {
	transform: translateY(-6px);
	background: linear-gradient(
		165deg,
		rgba(153, 0, 0, 0.12) 0%,
		rgba(255, 255, 255, 0.03) 100%
	);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
}

.mahroo-about-process__num {
	display: block;
	margin: 0 0 28px;
	padding-bottom: 2px;
	color: #990000;
	font-size: clamp(1.4rem, 2vw, 1.75rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	transition: color 0.35s ease, transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.mahroo-about-process__step:hover .mahroo-about-process__num {
	color: #cc0000;
	transform: translateY(-2px);
}

.mahroo-about-process__copy {
	display: block;
	padding-top: 4px;
}

.mahroo-about-process__step-title {
	margin: 0 0 12px;
	padding-top: 0;
	color: #fff;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.35;
}

.mahroo-about-process__step-text {
	margin: 0;
	line-height: 1.65;
}

@media (max-width: 991px) {
	.mahroo-about-process__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575px) {
	.mahroo-about-process {
		padding: 12px 0 56px;
	}

	.mahroo-about-process__head {
		margin-bottom: 28px;
	}

	.mahroo-about-process__list {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

/* ——— About closing CTA (mahroo/about-cta) ——— */
.mahroo-about-cta {
	position: relative;
	isolation: isolate;
	background: #0a0e0e;
	padding: 48px 0 130px;
}

.mahroo-about-cta__inner {
	max-width: 40em;
	padding: clamp(36px, 4.5vw, 56px);
	background:
		linear-gradient(
			145deg,
			rgba(153, 0, 0, 0.16) 0%,
			rgba(255, 255, 255, 0.03) 48%,
			rgba(255, 255, 255, 0.02) 100%
		);
	transition:
		transform 0.45s cubic-bezier(0.19, 1, 0.22, 1),
		box-shadow 0.45s ease,
		background 0.35s ease;
}

.mahroo-about-cta__inner:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.32);
}

.mahroo-about-cta__inner .pf-subtitle-1 {
	margin-bottom: 14px;
}

.mahroo-about-cta__inner .pf-sec-title-1 {
	margin-bottom: 16px;
}

.mahroo-about-cta__text {
	margin: 0 0 28px;
	line-height: 1.7;
	max-width: 34em;
}

.mahroo-about-cta__inner .btn-wrap[hidden] {
	display: none !important;
}

.mahroo-about-cta__inner .tx-button,
.mahroo-about-hero__content .tx-button {
	transition:
		transform 0.35s cubic-bezier(0.19, 1, 0.22, 1),
		box-shadow 0.35s ease,
		background 0.35s ease;
}

.mahroo-about-cta__inner .tx-button:hover,
.mahroo-about-hero__content .tx-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(153, 0, 0, 0.35);
}

@media (prefers-reduced-motion: reduce) {
	.mahroo-about-story__frame,
	.mahroo-about-story__frame img,
	.mahroo-about-mission__panel,
	.mahroo-about-values__item,
	.mahroo-about-values__icon,
	.mahroo-about-stats__item,
	.mahroo-about-process__step,
	.mahroo-about-process__num,
	.mahroo-about-cta__inner,
	.mahroo-about-cta__inner .tx-button,
	.mahroo-about-hero__content .tx-button {
		transition: none !important;
		transform: none !important;
	}
}

@media (max-width: 767px) {
	.mahroo-about-cta {
		padding: 24px 0 96px;
	}
}

/* ——— Blog listing (Mahroo Blog template — no Gutenberg) ——— */
.mahroo-blog-page-main {
	background: #0a0e0e;
	overflow-x: clip;
}

.mahroo-blog-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(480px, 68vh, 720px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #0a0e0e;
	padding: 150px 0 72px;
	box-sizing: border-box;
}

.mahroo-blog-hero > .container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.mahroo-blog-hero__content {
	max-width: min(640px, 100%);
	overflow: hidden;
}

.mahroo-blog-hero__content .pf-subtitle-1 {
	margin-bottom: 16px;
	color: rgba(255, 255, 255, 0.72);
}

.mahroo-blog-hero__content .title {
	margin-bottom: 18px;
	letter-spacing: -0.03em;
}

.mahroo-blog-hero__content .disc {
	margin-bottom: 0;
	max-width: 34em;
	text-align: justify !important;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	hyphens: auto;
	color: rgba(255, 255, 255, 0.72);
}

.mahroo-blog-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.mahroo-blog-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.48;
	transform-origin: 50% 40%;
	will-change: transform, opacity;
}

.mahroo-blog-hero__shade {
	--bh-mx: 42%;
	--bh-my: 38%;
	--bh-tint: 0.22;
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 78% 64% at var(--bh-mx) var(--bh-my),
			rgba(153, 0, 0, calc(0.038 + var(--bh-tint) * 0.083)) 0%,
			rgba(153, 0, 0, calc(0.014 + var(--bh-tint) * 0.028)) 48%,
			transparent 78%
		),
		linear-gradient(
			105deg,
			rgba(10, 14, 14, 0.82) 0%,
			rgba(10, 14, 14, 0.55) 42%,
			rgba(10, 14, 14, 0.24) 100%
		),
		linear-gradient(
			to top,
			rgba(10, 14, 14, 1) 0%,
			rgba(10, 14, 14, 0.72) 22%,
			transparent 58%
		);
}

html[dir="rtl"] .mahroo-blog-hero__shade {
	--bh-mx: 58%;
	background:
		radial-gradient(
			ellipse 78% 64% at var(--bh-mx) var(--bh-my),
			rgba(153, 0, 0, calc(0.038 + var(--bh-tint) * 0.083)) 0%,
			rgba(153, 0, 0, calc(0.014 + var(--bh-tint) * 0.028)) 48%,
			transparent 78%
		),
		linear-gradient(
			255deg,
			rgba(10, 14, 14, 0.82) 0%,
			rgba(10, 14, 14, 0.55) 42%,
			rgba(10, 14, 14, 0.24) 100%
		),
		linear-gradient(
			to top,
			rgba(10, 14, 14, 1) 0%,
			rgba(10, 14, 14, 0.72) 22%,
			transparent 58%
		);
}

.mahroo-blog-page .mahroo-blog-hero__content .title {
	text-wrap: balance;
}

/* Listing: continuous dark plane + soft brand glow */
.mahroo-blog-listing {
	position: relative;
	isolation: isolate;
	z-index: 5;
	padding: 8px 0 128px;
	background: #0a0e0e;
}

.mahroo-blog-listing::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -8%;
	width: min(920px, 120vw);
	height: min(520px, 70vw);
	transform: translateX(-50%);
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(
			ellipse 55% 48% at 50% 40%,
			rgba(153, 0, 0, 0.14) 0%,
			rgba(153, 0, 0, 0.05) 42%,
			transparent 72%
		);
	filter: blur(2px);
	opacity: 0.9;
}

.mahroo-blog-listing > .container {
	position: relative;
	z-index: 1;
}

.mahroo-blog-listing__grid {
	margin-bottom: 0;
	gap: 28px;
}

/* Archive-scoped card polish (keeps homepage news styles intact) */
.mahroo-blog-page .mahroo-news-card {
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.035);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.mahroo-blog-page .mahroo-news-card::before {
	background: linear-gradient(
		155deg,
		rgba(153, 0, 0, 0.55) 0%,
		rgba(255, 255, 255, 0.1) 38%,
		rgba(255, 255, 255, 0.03) 100%
	);
}

.mahroo-blog-page .mahroo-news-card:hover {
	transform: translateY(-5px);
	background: rgba(255, 255, 255, 0.055);
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.28);
}

.mahroo-blog-page .mahroo-news-card__media {
	aspect-ratio: 16 / 10;
}

.mahroo-blog-page .mahroo-news-card__media::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 42%;
	pointer-events: none;
	background: linear-gradient(
		to top,
		rgba(10, 14, 14, 0.55) 0%,
		transparent 100%
	);
}

.mahroo-blog-page .mahroo-news-card__body {
	padding: 20px 22px 24px;
	gap: 12px;
}

.mahroo-blog-page .mahroo-news-card__title {
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	min-height: 2.8em;
}

.mahroo-blog-page .mahroo-news-card__cat {
	border-radius: 999px;
}

.mahroo-blog-page .mahroo-news-card__media:focus-visible,
.mahroo-blog-page .mahroo-news-card__title a:focus-visible,
.mahroo-blog-page .mahroo-news-card__cat:focus-visible {
	outline: 2px solid rgba(153, 0, 0, 0.9);
	outline-offset: 3px;
}

.mahroo-blog-page .mahroo-news-v2__empty {
	padding: 64px 20px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
}

.mahroo-blog-pagination {
	margin-top: 52px;
}

.mahroo-blog-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mahroo-blog-pagination__item .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: 12px;
	font-size: 14px;
	line-height: 1;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	transition:
		color 0.25s ease,
		background 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease;
}

.mahroo-blog-pagination__item .page-numbers:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(153, 0, 0, 0.45);
	transform: translateY(-1px);
}

.mahroo-blog-pagination__item .page-numbers.current {
	color: #fff;
	background: rgba(153, 0, 0, 0.85);
	border-color: rgba(153, 0, 0, 0.95);
}

.mahroo-blog-pagination__item .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	min-width: 28px;
	padding: 0 4px;
	transform: none;
}

.mahroo-blog-pagination__item a.page-numbers:focus-visible {
	outline: 2px solid rgba(153, 0, 0, 0.9);
	outline-offset: 3px;
}

@media only screen and (max-width: 991px) {
	.mahroo-blog-hero {
		min-height: clamp(460px, 64vh, 640px);
		padding: 136px 0 64px;
	}

	.mahroo-blog-listing__grid {
		gap: 22px;
	}

	.mahroo-blog-page .mahroo-news-card__title {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.mahroo-blog-hero {
		min-height: clamp(400px, 62vh, 560px);
		padding: 118px 0 56px;
	}

	.mahroo-blog-hero__content .title {
		font-size: clamp(28px, 8vw, 36px);
	}

	.mahroo-blog-listing {
		padding: 4px 0 96px;
	}

	.mahroo-blog-listing::before {
		top: -4%;
		height: min(360px, 90vw);
		opacity: 0.75;
	}

	.mahroo-blog-listing__grid {
		gap: 18px;
	}

	.mahroo-blog-page .mahroo-news-card__body {
		padding: 18px 18px 22px;
	}

	.mahroo-blog-pagination {
		margin-top: 36px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mahroo-blog-page .mahroo-news-card,
	.mahroo-blog-page .mahroo-news-card__media img,
	.mahroo-blog-pagination__item .page-numbers {
		transition: none !important;
		transform: none !important;
	}
}

/* ——— Single post (full article experience) ——— */
.mahroo-single-page-main {
	background: #0a0e0e;
	overflow-x: clip;
}

.mahroo-single-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 1200;
	pointer-events: none;
	background: rgba(255, 255, 255, 0.06);
}

.admin-bar .mahroo-single-progress {
	top: 32px;
}

.mahroo-single-progress__bar {
	display: block;
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, #990000 0%, #c42828 100%);
	transform-origin: left center;
	will-change: width;
}

html[dir="rtl"] .mahroo-single-progress__bar {
	transform-origin: right center;
}

.mahroo-single-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(520px, 78vh, 820px);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #0a0e0e;
	padding: 150px 0 88px;
	box-sizing: border-box;
}

.mahroo-single-hero > .container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.mahroo-single-hero__content {
	max-width: min(760px, 100%);
}

.mahroo-single-hero__crumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 22px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
}

.mahroo-single-hero__crumb a {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
}

.mahroo-single-hero__crumb a:hover {
	color: #fff;
}

.mahroo-single-hero__crumb-sep {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(153, 0, 0, 0.9);
}

.mahroo-single-hero__crumb-current {
	max-width: 28em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.48);
}

.mahroo-single-hero__cat {
	display: inline-flex;
	align-items: center;
	margin-bottom: 18px;
	padding: 7px 12px;
	border-radius: 999px;
	font-size: 12px;
	line-height: 1;
	color: #0a0e0e;
	background: var(--pf-clr-pr-1, #990000);
	text-decoration: none;
}

.mahroo-single-hero__title {
	margin: 0 0 18px;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.mahroo-single-hero__lead {
	margin: 0 0 22px;
	max-width: 38em;
	text-align: justify !important;
	text-justify: inter-word;
}

.mahroo-single-hero__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.62);
}

.mahroo-single-hero__meta-dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
}

.mahroo-single-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.mahroo-single-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.78;
	transform-origin: 50% 40%;
	will-change: transform, opacity;
	filter: saturate(1.05) contrast(1.05);
}

.mahroo-single-hero__shade {
	--sh-mx: 42%;
	--sh-my: 38%;
	--sh-tint: 0.18;
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 70% 55% at var(--sh-mx) var(--sh-my),
			rgba(153, 0, 0, calc(0.03 + var(--sh-tint) * 0.07)) 0%,
			transparent 70%
		),
		linear-gradient(
			105deg,
			rgba(10, 14, 14, 0.62) 0%,
			rgba(10, 14, 14, 0.28) 48%,
			rgba(10, 14, 14, 0.12) 100%
		),
		linear-gradient(
			to top,
			rgba(10, 14, 14, 0.92) 0%,
			rgba(10, 14, 14, 0.45) 34%,
			transparent 68%
		);
}

html[dir="rtl"] .mahroo-single-hero__shade {
	--sh-mx: 58%;
	background:
		radial-gradient(
			ellipse 70% 55% at var(--sh-mx) var(--sh-my),
			rgba(153, 0, 0, calc(0.03 + var(--sh-tint) * 0.07)) 0%,
			transparent 70%
		),
		linear-gradient(
			255deg,
			rgba(10, 14, 14, 0.62) 0%,
			rgba(10, 14, 14, 0.28) 48%,
			rgba(10, 14, 14, 0.12) 100%
		),
		linear-gradient(
			to top,
			rgba(10, 14, 14, 0.92) 0%,
			rgba(10, 14, 14, 0.45) 34%,
			transparent 68%
		);
}

.mahroo-single-article-section {
	position: relative;
	z-index: 3;
	padding: 8px 0 40px;
	background: #0a0e0e;
}

.mahroo-single-article-section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -40px;
	width: min(900px, 120vw);
	height: 420px;
	transform: translateX(-50%);
	pointer-events: none;
	background: radial-gradient(
		ellipse 55% 45% at 50% 40%,
		rgba(153, 0, 0, 0.12) 0%,
		transparent 70%
	);
}

.mahroo-single-article__layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	width: 100%;
}

.mahroo-single-rail {
	position: sticky;
	top: 120px;
}

.mahroo-single-rail__label {
	margin: 0 0 12px;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.mahroo-single-share-wrap {
	margin-top: 22px;
}

.mahroo-single-share-wrap__label {
	margin: 0 0 12px;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.mahroo-single-share {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.mahroo-single-share li {
	margin: 0;
	padding: 0;
}

.mahroo-single-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--pf-clr-pr-1, #990000);
	color: #fff;
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(153, 0, 0, 0.28);
	transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.mahroo-single-share__btn i {
	color: #fff;
}

.mahroo-single-share__btn:hover {
	color: #fff;
	background: #b30000;
	transform: translateY(-2px) scale(1.06);
	box-shadow: 0 12px 26px rgba(153, 0, 0, 0.38);
}

.mahroo-single-share__btn:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.9);
	outline-offset: 3px;
}

.mahroo-single-share__btn.is-copied {
	background: #1f8f4a;
}

.mahroo-single-article__layout--solo {
	grid-template-columns: minmax(0, 1fr);
}

.mahroo-single-article__main {
	max-width: none;
	width: 100%;
	margin-inline: 0;
	padding: 28px 36px 40px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

.mahroo-single-featured {
	margin: 0 0 28px;
	border-radius: 12px;
	overflow: hidden;
	background: #0a0e0e;
}

.mahroo-single-featured img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.mahroo-single-prose {
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(16px, 1.05vw, 17.5px);
	line-height: 1.76;
	text-align: justify;
	text-justify: inter-word;
	hyphens: auto;
	letter-spacing: 0.005em;
}

.mahroo-single-prose > *:first-child {
	margin-top: 0;
}

.mahroo-single-prose > *:last-child {
	margin-bottom: 0;
}

.mahroo-single-prose p {
	margin: 0 0 1.05em;
}

.mahroo-single-prose h2,
.mahroo-single-prose h3,
.mahroo-single-prose h4 {
	color: rgba(255, 255, 255, 0.95);
	letter-spacing: -0.02em;
	text-wrap: balance;
	margin: 1.35em 0 0.55em;
	line-height: 1.3;
	text-align: start;
	scroll-margin-top: 110px;
}

.mahroo-single-prose h2 {
	font-size: clamp(24px, 2vw, 30px);
}

.mahroo-single-prose h3 {
	font-size: clamp(20px, 1.6vw, 24px);
}

.mahroo-single-prose a {
	color: #ffb3b3;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.mahroo-single-prose a:hover {
	color: #fff;
}

.mahroo-single-prose ul,
.mahroo-single-prose ol {
	margin: 0 0 1.35em;
	padding-inline-start: 1.25em;
}

.mahroo-single-prose li {
	margin: 0.35em 0;
}

.mahroo-single-prose li::marker {
	color: rgba(153, 0, 0, 0.95);
}

.mahroo-single-prose blockquote {
	margin: 1.6em 0;
	padding: 18px 22px;
	border-radius: 12px;
	border-inline-start: 3px solid #990000;
	background: rgba(153, 0, 0, 0.1);
	color: rgba(255, 255, 255, 0.9);
	font-size: 1.05em;
	text-align: start;
}

.mahroo-single-prose blockquote p:last-child {
	margin-bottom: 0;
}

.mahroo-single-prose img,
.mahroo-single-prose figure {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	margin: 1.6em 0;
}

.mahroo-single-prose figure img {
	margin: 0;
}

.mahroo-single-prose figcaption {
	margin-top: 10px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.5);
	text-align: start;
}

.mahroo-single-prose hr {
	border: 0;
	height: 1px;
	margin: 2em 0;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(153, 0, 0, 0.55),
		transparent
	);
}

.mahroo-single-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 28px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mahroo-single-tags__item {
	display: inline-flex;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.mahroo-single-adjacent {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 36px;
}

.mahroo-single-adjacent__link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 22px;
	border-radius: 12px;
	text-decoration: none;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.07);
	transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
	min-height: 110px;
}

.mahroo-single-adjacent__link:hover {
	transform: translateY(-3px);
	background: rgba(255, 255, 255, 0.055);
	border-color: rgba(153, 0, 0, 0.45);
}

.mahroo-single-adjacent__link--empty {
	visibility: hidden;
	pointer-events: none;
}

.mahroo-single-adjacent__link--next {
	text-align: end;
	align-items: flex-end;
}

html[dir="rtl"] .mahroo-single-adjacent__link--next {
	text-align: start;
	align-items: flex-start;
}

html[dir="rtl"] .mahroo-single-adjacent__link--prev {
	text-align: end;
	align-items: flex-end;
}

.mahroo-single-adjacent__kicker {
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.48);
}

.mahroo-single-adjacent__title {
	font-size: 17px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.92);
	font-weight: 600;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.mahroo-single-related {
	position: relative;
	padding: 72px 0 40px;
	background: #0a0e0e;
}

.mahroo-single-related__head {
	max-width: 560px;
	margin-bottom: 36px;
}

.mahroo-single-related__head .pf-subtitle-1 {
	margin-bottom: 12px;
}

.mahroo-single-related__grid {
	margin-bottom: 0;
}

.mahroo-single-post .mahroo-news-card {
	border-radius: 12px;
}

.mahroo-single-cta {
	padding: 40px 0 120px;
	background: #0a0e0e;
}

.mahroo-single-cta__inner {
	position: relative;
	isolation: isolate;
	padding: 42px 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.035);
	overflow: hidden;
}

.mahroo-single-cta__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(
		140deg,
		rgba(153, 0, 0, 0.7) 0%,
		rgba(255, 255, 255, 0.12) 42%,
		rgba(255, 255, 255, 0.04) 100%
	);
	pointer-events: none;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
}

.mahroo-single-cta__inner > * {
	position: relative;
	z-index: 1;
}

.mahroo-single-cta__inner .pf-subtitle-1 {
	margin-bottom: 14px;
}

.mahroo-single-cta__inner .pf-sec-title-1 {
	margin-bottom: 14px;
	max-width: 16em;
	text-wrap: balance;
}

.mahroo-single-cta__text {
	max-width: 36em;
	margin-bottom: 24px;
	text-align: justify !important;
}

.mahroo-single-cta__inner .tx-button {
	transition: transform 0.35s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.35s ease;
}

.mahroo-single-cta__inner .tx-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(153, 0, 0, 0.35);
}

@media only screen and (max-width: 991px) {
	.mahroo-single-article__layout {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.mahroo-single-rail {
		position: static;
		top: auto;
	}

	.mahroo-single-share {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.mahroo-single-article__main {
		margin: 0;
		padding: 24px 22px 28px;
	}
}

@media (max-width: 767px) {
	.mahroo-single-hero {
		min-height: clamp(460px, 72vh, 640px);
		padding: 120px 0 64px;
	}

	.mahroo-single-hero__crumb-current {
		max-width: 12em;
	}

	.mahroo-single-adjacent {
		grid-template-columns: 1fr;
	}

	.mahroo-single-adjacent__link--empty {
		display: none;
	}

	.mahroo-single-adjacent__link--next {
		text-align: start;
		align-items: flex-start;
	}

	.mahroo-single-cta__inner {
		padding: 28px 22px;
	}

	.mahroo-single-cta {
		padding: 24px 0 96px;
	}

	.mahroo-single-related {
		padding: 48px 0 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mahroo-single-share__btn,
	.mahroo-single-adjacent__link,
	.mahroo-single-cta__inner .tx-button {
		transition: none !important;
		transform: none !important;
	}
}

/* Single: author meta, TOC, author card, comments */
.mahroo-single-hero__author {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.mahroo-single-hero__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.mahroo-single-hero__author-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.2;
}

.mahroo-single-hero__author-name {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.9);
	font-weight: 600;
}

.mahroo-single-hero__author-role {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
}

.mahroo-single-toc {
	margin: 0 0 22px;
	padding: 0 0 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.mahroo-single-toc__label,
.mahroo-single-rail__label {
	margin: 0 0 12px;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.mahroo-single-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mahroo-single-toc__item a {
	display: block;
	font-size: 13px;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.58);
	text-decoration: none;
	border-inline-start: 2px solid transparent;
	padding-inline-start: 10px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.mahroo-single-toc__item--h3 a {
	padding-inline-start: 18px;
	font-size: 12px;
}

.mahroo-single-toc__item a:hover,
.mahroo-single-toc__item.is-active a {
	color: rgba(255, 255, 255, 0.95);
	border-inline-start-color: #990000;
}

.mahroo-single-author-card {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin-top: 32px;
	padding: 22px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.07);
}

.mahroo-single-author-card__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.mahroo-single-author-card__kicker {
	margin: 0 0 4px;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.mahroo-single-author-card__name {
	margin: 0 0 4px;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.95);
}

.mahroo-single-author-card__role {
	margin: 0 0 10px;
	font-size: 13px;
	color: rgba(153, 0, 0, 0.95);
}

.mahroo-single-author-card__bio {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.68);
	text-align: start;
}

.mahroo-single-comments {
	margin-top: 40px;
}

.mahroo-single-comments__inner {
	padding: 28px 32px 32px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
}

.mahroo-single-comments__title {
	margin: 0 0 18px;
	font-size: clamp(22px, 1.8vw, 28px);
	color: rgba(255, 255, 255, 0.94);
	letter-spacing: -0.02em;
}

.mahroo-single-comments__empty {
	margin: 0 0 22px;
	color: rgba(255, 255, 255, 0.58);
}

.mahroo-single-comments__list {
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mahroo-single-comment {
	margin: 0;
}

.mahroo-single-comment__body {
	padding: 16px 18px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.06);
}

.mahroo-single-comment__header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.mahroo-single-comment__avatar {
	border-radius: 50%;
}

.mahroo-single-comment__author {
	display: block;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.92);
}

.mahroo-single-comment__author a {
	color: inherit;
	text-decoration: none;
}

.mahroo-single-comment__date {
	display: block;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.48);
}

.mahroo-single-comment__content {
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.8);
}

.mahroo-single-comment__content p:last-child {
	margin-bottom: 0;
}

.mahroo-single-comment__awaiting {
	color: rgba(255, 180, 180, 0.9);
}

.mahroo-single-comment__reply {
	margin-top: 10px;
}

.mahroo-single-comment__reply a {
	font-size: 13px;
	color: #ffb3b3;
	text-decoration: none;
}

.mahroo-single-comment__reply a:hover {
	color: #fff;
}

.mahroo-comment-form {
	display: grid;
	gap: 14px;
}

.mahroo-comment-form .comment-reply-title {
	margin: 0 0 8px;
	font-size: 20px;
	color: rgba(255, 255, 255, 0.92);
}

.mahroo-comment-form__field {
	margin: 0;
	display: grid;
	gap: 8px;
}

.mahroo-comment-form__field label {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.62);
}

.mahroo-comment-form__field input,
.mahroo-comment-form__field textarea {
	width: 100%;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(10, 14, 14, 0.65);
	color: rgba(255, 255, 255, 0.92);
	padding: 12px 14px;
	font: inherit;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mahroo-comment-form__field input:focus,
.mahroo-comment-form__field textarea:focus {
	border-color: rgba(153, 0, 0, 0.7);
	box-shadow: 0 0 0 3px rgba(153, 0, 0, 0.18);
}

.mahroo-comment-form__submit {
	justify-self: start;
	margin-top: 4px;
}

.mahroo-single-comments__pagination {
	margin: 0 0 24px;
}

.mahroo-single-comments__pagination .nav-links {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.mahroo-single-comments__pagination a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	padding: 8px 12px;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

@media only screen and (max-width: 991px) {
	.mahroo-single-toc {
		border-bottom: 0;
		padding-bottom: 0;
		margin-bottom: 8px;
	}

	.mahroo-single-toc__list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px 14px;
	}

	.mahroo-single-toc__item a {
		border-inline-start: 0;
		padding-inline-start: 0;
		padding-bottom: 2px;
		border-bottom: 2px solid transparent;
	}

	.mahroo-single-toc__item.is-active a,
	.mahroo-single-toc__item a:hover {
		border-bottom-color: #990000;
	}

	.mahroo-single-comments__inner {
		padding: 22px 18px 24px;
	}
}

@media (max-width: 767px) {
	.mahroo-single-author-card {
		grid-template-columns: 56px minmax(0, 1fr);
		padding: 18px;
		gap: 14px;
	}

	.mahroo-single-author-card__avatar {
		width: 56px;
		height: 56px;
	}

	.mahroo-single-hero__meta {
		align-items: flex-start;
	}
}

/* Universal site footer — no globe shape, compact on all pages */
.mahroo-site-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-top: 72px;
	padding-bottom: 56px;
	background: #0a0e0e;
}

.mahroo-site-footer .pf-footer-1-shape,
.pf-footer-1-shape {
	display: none !important;
}

.mahroo-site-footer .pf-footer-1-line {
	margin-bottom: 0;
}

/* Comment contrast fixes — never dark-on-dark */
.mahroo-single-comments,
.mahroo-single-comments * {
	color: rgba(255, 255, 255, 0.86);
}

.mahroo-single-comments a {
	color: #ffb3b3;
}

.mahroo-single-comments a:hover {
	color: #fff;
}

.mahroo-single-comments__title,
.mahroo-comment-form .comment-reply-title,
.mahroo-comment-form .comment-reply-title a {
	color: rgba(255, 255, 255, 0.95) !important;
}

.mahroo-single-comments__empty,
.mahroo-comment-form .logged-in-as,
.mahroo-comment-form .comment-notes,
.mahroo-comment-form .required-field-message,
.mahroo-comment-form label,
.mahroo-comment-form .form-submit,
.mahroo-single-comment__date,
.mahroo-single-comment__awaiting {
	color: rgba(255, 255, 255, 0.68) !important;
}

.mahroo-single-comment__author,
.mahroo-single-comment__author a {
	color: rgba(255, 255, 255, 0.94) !important;
}

.mahroo-single-comment__content,
.mahroo-single-comment__content p {
	color: rgba(255, 255, 255, 0.86) !important;
}

.mahroo-comment-form__field input,
.mahroo-comment-form__field textarea,
.mahroo-comment-form input[type="text"],
.mahroo-comment-form input[type="email"],
.mahroo-comment-form input[type="url"],
.mahroo-comment-form textarea {
	color: rgba(255, 255, 255, 0.95) !important;
	background: rgba(10, 14, 14, 0.75) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	caret-color: #fff;
}

.mahroo-comment-form__field input::placeholder,
.mahroo-comment-form__field textarea::placeholder,
.mahroo-comment-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.42) !important;
	opacity: 1;
}

.mahroo-comment-form .form-submit input,
.mahroo-comment-form__submit {
	color: #fff !important;
}

.mahroo-single-adjacent {
	display: none !important;
}


/* Author card removed from single posts */
.mahroo-single-author-card {
	display: none !important;
}

.mahroo-archive-hero .mahroo-single-hero__crumb {
	margin-bottom: 18px;
}

/* Contact form section: kill the stretched empty left column */
.pf-contact-1-area.pt-80 {
	padding-top: 56px !important;
	padding-bottom: 56px !important;
}

.pf-contact-1-row {
	align-items: flex-start;
	gap: 40px;
}

.pf-contact-1-content {
	justify-content: flex-start;
	gap: 28px;
	max-width: 420px;
}

.pf-contact-1-sec-title .pf-sec-title-1 {
	max-width: none;
	margin-bottom: 14px;
}

.pf-contact-1-sec-title .sec-disc {
	margin-bottom: 0;
	max-width: 36em;
}

.pf-contact-1-brand-title {
	margin-bottom: 14px;
	font-size: 14px;
}

.pf-contact-1-brand-logos {
	gap: 20px;
}

.pf-contact-1-form {
	padding: 36px 32px 32px;
	max-width: 520px;
}

.pf-form-1-box:not(:last-child) {
	margin-bottom: 18px;
}

.pf-form-1-title {
	margin-bottom: 14px;
}

.pf-form-1-box .radio-wrap {
	gap: 8px;
	margin-bottom: 4px;
}

.pf-contact-1-bg-glow {
	opacity: 0.45;
	transform: translate(-58%, -42%) scale(0.85);
}

@media (max-width: 991px) {
	.pf-contact-1-area.pt-80 {
		padding-top: 40px !important;
		padding-bottom: 48px !important;
	}

	.pf-contact-1-content {
		max-width: none;
	}

	.pf-contact-1-form {
		padding: 28px 22px;
		max-width: none;
	}
}

.pf-contact-1-brand-logos .pf-client-1-logo[hidden] {
	display: none !important;
}
