:root {
	--asnaf-red: #b6191e;
	--asnaf-red-dark: #8e1014;
	--asnaf-gold: #b98a55;
	--asnaf-gold-light: #d1a15e;
	--asnaf-ink: #191512;
	--asnaf-copy: #4d433c;
	--asnaf-cream: #f9f5f2;
	--asnaf-panel: #f6f1eb;
	--asnaf-line: #eadfd5;
}

body,
body.elementor-page {
	background: var(--asnaf-cream);
}

[hidden] {
	display: none !important;
}

/* Global Elementor header: the homepage header is the shared source of truth. */
#uicore-tb-header {
	position: relative !important;
	top: auto !important;
	z-index: 999 !important;
	background: #080808;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

#uicore-tb-header .elementor-462,
#uicore-tb-header .elementor-element-380e5278 {
	background: #080808 !important;
}

#uicore-tb-header .elementor-element-380e5278 {
	min-height: 78px !important;
	padding: 0 38px !important;
	display: flex !important;
	align-items: center !important;
}

#uicore-tb-header .elementor-element-380e5278 > .e-con-inner {
	width: 100% !important;
	max-width: 1240px !important;
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: 240px minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 28px !important;
}

#uicore-tb-header .asnaf-global-logo {
	width: 240px !important;
	background: #fff;
	padding: 5px 7px;
}

#uicore-tb-header .asnaf-global-logo img {
	display: block;
	width: 100% !important;
	height: auto !important;
}

#uicore-tb-header .asnaf-global-nav {
	min-width: 0;
}

#uicore-tb-header .rr-header-menu__list {
	justify-content: center;
	gap: clamp(14px, 1.65vw, 26px);
}

#uicore-tb-header .rr-header-menu__list a {
	padding: 29px 0 25px;
	color: #fff;
	font: 800 11px/1 Inter, Arial, sans-serif;
	text-transform: uppercase;
	white-space: nowrap;
}

#uicore-tb-header .rr-header-menu__list a::after {
	height: 2px;
	background: var(--asnaf-gold-light);
}

#uicore-tb-header .rr-header-menu__list a:hover,
#uicore-tb-header .rr-header-menu__list .current-menu-item > a,
#uicore-tb-header .rr-header-menu__list .current_page_item > a {
	color: var(--asnaf-gold-light);
}

#uicore-tb-header .asnaf-global-cta .elementor-button {
	min-height: 42px;
	padding: 14px 19px !important;
	border: 1px solid var(--asnaf-red) !important;
	border-radius: 5px !important;
	background: var(--asnaf-red) !important;
	color: #fff !important;
	font: 800 11px/1 Inter, Arial, sans-serif !important;
	text-transform: uppercase !important;
}

/* Remove the formerly duplicated homepage/about headers and tighten their heroes. */
.elementor-51 .asnaf-header,
.elementor-101 .ap-header {
	display: none !important;
}

.elementor-51 .asnaf-hero {
	min-height: 615px !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

.elementor-51 .asnaf-hero-inner {
	margin-top: 62px !important;
}

.elementor-51 .asnaf-proof-grid > .e-con-inner {
	width: 100% !important;
	max-width: 1160px !important;
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 38px !important;
	align-items: start !important;
}

.elementor-51 .asnaf-proof-grid > .e-con-inner > .e-con,
.elementor-51 .asnaf-proof-grid .bac,
.elementor-51 .asnaf-proof-grid .rrt {
	width: 100% !important;
	max-width: none !important;
}

.elementor-101 .ap-hero {
	min-height: 405px !important;
	padding-top: 1px !important;
}

.elementor-101 .ap-hero-content {
	margin-top: 72px !important;
}

.elementor-101 .ap-page {
	--cream: #f9f5f2 !important;
	background-color: #f9f5f2 !important;
}

.elementor-101 .ap-value-icon .elementor-icon svg *,
.elementor-101 .ap-stat-icon .elementor-icon svg * {
	fill: currentColor !important;
	stroke: currentColor !important;
}

.elementor-101 .ap-stat:nth-child(n+3) .ap-stat-title .elementor-heading-title {
	font-size: 17px !important;
	line-height: 1.15 !important;
}

/* Shared native Elementor page system. */
.asnaf-site-page,
.asnaf-site-page * {
	box-sizing: border-box;
}

.asnaf-site-page {
	width: 100%;
	color: var(--asnaf-ink);
	font-family: Inter, Arial, sans-serif;
}

/* Elementor gives every new container 10px padding and a 20px gap by default.
 * The reference layouts use deliberate section/card spacing, so neutralize the
 * defaults and let the component rules below own those values. */
.asnaf-site-page.e-con,
.asnaf-site-page .e-con {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 0px 0px;
	--row-gap: 0px;
	--column-gap: 0px;
}

.asnaf-site-page .elementor-widget,
.asnaf-site-page p,
.asnaf-site-page h1,
.asnaf-site-page h2,
.asnaf-site-page h3 {
	margin: 0;
}

.asnaf-site-page a {
	text-decoration: none;
}

.asnaf-shell {
	width: min(1180px, calc(100% - 70px));
	margin-inline: auto;
}

.asnaf-section {
	padding: 42px 0;
	background: var(--asnaf-cream);
}

.asnaf-section-tight {
	padding-top: 24px;
	padding-bottom: 28px;
}

.asnaf-eyebrow .elementor-heading-title {
	color: var(--asnaf-red) !important;
	font: 800 11px/1.25 Inter, Arial, sans-serif !important;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.asnaf-eyebrow.is-gold .elementor-heading-title {
	color: var(--asnaf-gold-light) !important;
}

.asnaf-section-title .elementor-heading-title {
	color: var(--asnaf-ink) !important;
	font: 800 clamp(29px, 3vw, 40px)/1.08 Georgia, "Times New Roman", serif !important;
}

.asnaf-section-title .elementor-heading-title span,
.asnaf-hero-title .elementor-heading-title span {
	color: var(--asnaf-gold);
}

.asnaf-section-copy,
.asnaf-section-copy p {
	color: var(--asnaf-copy);
	font: 400 14px/1.65 Inter, Arial, sans-serif;
}

.asnaf-section-heading {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 10px !important;
	text-align: center;
	margin-bottom: 26px;
}

.asnaf-section-heading .asnaf-section-copy {
	max-width: 740px;
}

.asnaf-hero-subpage {
	position: relative;
	isolation: isolate;
	min-height: 340px;
	padding: 0;
	display: flex !important;
	align-items: center !important;
	background: #0b0908;
	overflow: hidden;
}

.asnaf-hero-subpage::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .68) 38%, rgba(0, 0, 0, .25) 78%, rgba(0, 0, 0, .42) 100%), linear-gradient(180deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, .08) 55%, rgba(0, 0, 0, .58));
	pointer-events: none;
}

.asnaf-hero-subpage > .e-con-inner,
.asnaf-hero-subpage > .asnaf-shell {
	position: relative;
	z-index: 1;
}

.asnaf-hero-subpage .e-con-inner {
	width: min(1180px, calc(100% - 70px));
	max-width: none !important;
	margin: 0 auto;
	justify-content: center !important;
}

.asnaf-hero-content {
	max-width: 570px;
	display: flex !important;
	flex-direction: column !important;
	gap: 15px !important;
}

.asnaf-hero-title .elementor-heading-title {
	color: #fff !important;
	font: 800 clamp(42px, 5.1vw, 60px)/1.02 Georgia, "Times New Roman", serif !important;
}

.asnaf-hero-copy,
.asnaf-hero-copy p {
	max-width: 540px;
	color: rgba(255, 255, 255, .94);
	font: 400 15px/1.65 Inter, Arial, sans-serif;
}

.asnaf-button-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 14px !important;
}

.asnaf-button .elementor-button {
	min-height: 44px;
	padding: 14px 22px !important;
	border-radius: 4px !important;
	font: 800 11px/1 Inter, Arial, sans-serif !important;
	text-transform: uppercase;
}

.asnaf-button.is-red .elementor-button {
	border: 1px solid var(--asnaf-red) !important;
	background: var(--asnaf-red) !important;
	color: #fff !important;
}

.asnaf-button.is-outline .elementor-button {
	border: 1px solid var(--asnaf-gold) !important;
	background: transparent !important;
	color: #fff !important;
}

.asnaf-button.is-light .elementor-button {
	border: 1px solid #ccb28f !important;
	background: #fff !important;
	color: var(--asnaf-ink) !important;
}

.asnaf-icon .elementor-icon {
	color: var(--asnaf-red) !important;
	fill: var(--asnaf-red) !important;
}

.asnaf-icon.is-gold .elementor-icon {
	color: var(--asnaf-gold) !important;
	fill: var(--asnaf-gold) !important;
}

/* Services */
.asnaf-services-hero {
	background: #0b0908 url("../uploads/2026/07/asnaf-riad-hero-hq-v2.webp") center 47%/cover no-repeat;
}

.asnaf-services-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px !important;
}

.asnaf-service-card {
	display: flex !important;
	flex-direction: column !important;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--asnaf-line);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 9px 25px rgba(65, 39, 21, .05);
}

.asnaf-service-card > .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 138px;
	object-fit: cover;
}

.asnaf-service-card-body {
	display: grid !important;
	grid-template-columns: 34px 1fr;
	gap: 12px !important;
	padding: 15px 15px 18px;
}

.asnaf-service-card-body .asnaf-icon .elementor-icon {
	font-size: 29px;
}

.asnaf-service-card-copy {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.asnaf-card-title .elementor-heading-title {
	color: var(--asnaf-ink) !important;
	font: 800 16px/1.25 Georgia, "Times New Roman", serif !important;
}

.asnaf-card-value .elementor-heading-title {
	color: var(--asnaf-gold) !important;
	font: 700 11px/1.3 Inter, Arial, sans-serif !important;
}

.asnaf-card-copy,
.asnaf-card-copy p {
	color: #514740;
	font: 400 11px/1.6 Inter, Arial, sans-serif;
}

.asnaf-process {
	padding-top: 18px;
}

.asnaf-process-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0 !important;
}

.asnaf-process-step {
	position: relative;
	min-height: 95px;
	display: grid !important;
	grid-template-columns: 28px 42px 1fr;
	align-items: start !important;
	gap: 10px !important;
	padding: 8px 18px;
	border-right: 1px solid #dfd1c4;
}

.asnaf-process-step:last-child {
	border-right: 0;
}

.asnaf-step-number .elementor-heading-title {
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--asnaf-gold);
	color: #fff !important;
	font: 800 10px/1 Inter, Arial, sans-serif !important;
}

.asnaf-process-copy {
	display: flex !important;
	flex-direction: column !important;
	gap: 5px !important;
}

.asnaf-process-copy h3,
.asnaf-process-title .elementor-heading-title {
	font: 800 13px/1.25 Georgia, "Times New Roman", serif !important;
}

.asnaf-process-text,
.asnaf-process-text p {
	color: #514740;
	font: 400 10px/1.5 Inter, Arial, sans-serif;
}

.asnaf-cta-banner {
	width: min(1180px, calc(100% - 70px));
	min-height: 145px;
	margin: 6px auto 20px;
	padding: 28px 31px;
	display: flex !important;
	justify-content: center !important;
	border-radius: 8px;
	background: #160f0b url("../uploads/2026/07/asnaf-riad-hero-hq-v2.webp") center/cover no-repeat;
	isolation: isolate;
	overflow: hidden;
}

.asnaf-cta-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(18, 11, 8, .97), rgba(18, 11, 8, .82) 52%, rgba(18, 11, 8, .38));
}

.asnaf-cta-banner > .e-con-inner {
	width: 100%;
	max-width: none !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px !important;
}

.asnaf-cta-copy {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.asnaf-cta-copy .asnaf-section-title .elementor-heading-title,
.asnaf-cta-copy .asnaf-section-copy,
.asnaf-cta-copy .asnaf-section-copy p {
	color: #fff !important;
}

.asnaf-values-strip,
.asnaf-stats-strip {
	width: min(1180px, calc(100% - 70px));
	margin: 0 auto 22px;
	padding: 20px 14px;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	background: rgba(248, 243, 237, .9);
	border: 1px solid #eee4db;
	border-radius: 8px;
}

.asnaf-value-item,
.asnaf-stat-item {
	display: grid !important;
	grid-template-columns: 48px 1fr;
	align-items: center !important;
	gap: 12px !important;
	padding: 2px 18px;
	border-right: 1px solid #dfd3c8;
}

.asnaf-value-item:last-child,
.asnaf-stat-item:last-child {
	border-right: 0;
}

.asnaf-value-copy,
.asnaf-stat-copy {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.asnaf-value-title .elementor-heading-title,
.asnaf-stat-title .elementor-heading-title {
	color: var(--asnaf-ink) !important;
	font: 800 14px/1.2 Georgia, "Times New Roman", serif !important;
}

.asnaf-stat-title .elementor-heading-title {
	font-size: 27px !important;
}

.asnaf-value-text,
.asnaf-value-text p,
.asnaf-stat-text,
.asnaf-stat-text p {
	color: #4f453e;
	font: 400 10px/1.5 Inter, Arial, sans-serif;
}

/* Realisations */
.asnaf-realisations-hero {
	min-height: 410px;
	background: #0b0908 url("../uploads/2026/07/asnaf-riad-hero-hq-v2.webp") center/cover no-repeat;
}

.asnaf-realisations-hero > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
	align-items: center !important;
	gap: 58px !important;
}

.asnaf-compare {
	position: relative;
	width: 100%;
	aspect-ratio: 1.72;
	border: 5px solid rgba(255, 255, 255, .82);
	border-radius: 22px;
	overflow: hidden;
	background: #111;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .38);
	touch-action: pan-y;
	cursor: ew-resize;
}

.asnaf-compare img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	user-select: none;
	pointer-events: none;
}

.asnaf-compare__before {
	position: absolute;
	inset: 0;
	clip-path: inset(0 calc(100% - var(--compare-position)) 0 0);
}

.asnaf-compare__before img {
	filter: grayscale(1) brightness(.68);
}

.asnaf-compare__label {
	position: absolute;
	top: 22px;
	z-index: 3;
	color: #fff;
	font: 900 15px/1 Inter, Arial, sans-serif;
	text-transform: uppercase;
	text-shadow: 0 2px 8px #000;
}

.asnaf-compare__label--before { left: 20px; }
.asnaf-compare__label--after { right: 20px; }

.asnaf-compare__handle {
	position: absolute;
	top: 50%;
	left: var(--compare-position);
	z-index: 4;
	width: 54px;
	height: 54px;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: rgba(0, 0, 0, .34);
	color: #fff;
	font-size: 24px;
	cursor: ew-resize;
}

.asnaf-compare__handle::before,
.asnaf-compare__handle::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 2px;
	height: 500px;
	background: #fff;
	transform: translateX(-50%);
}

.asnaf-compare__handle::before { bottom: 100%; }
.asnaf-compare__handle::after { top: 100%; }

.asnaf-project-filters {
	display: flex !important;
	flex-direction: row !important;
	justify-content: center !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-bottom: 26px;
}

.asnaf-filter .elementor-button {
	padding: 10px 20px !important;
	border: 1px solid #c8a97f !important;
	border-radius: 22px !important;
	background: transparent !important;
	color: #40362f !important;
	font: 600 10px/1 Inter, Arial, sans-serif !important;
	text-transform: uppercase;
}

.asnaf-filter.is-active .elementor-button,
.asnaf-filter:first-child .elementor-button {
	background: var(--asnaf-red) !important;
	border-color: var(--asnaf-red) !important;
	color: #fff !important;
}

.asnaf-project-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px !important;
}

.asnaf-project-card {
	display: flex !important;
	flex-direction: column !important;
	background: #fff;
	border: 1px solid var(--asnaf-line);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 8px 22px rgba(65, 39, 21, .05);
}

.asnaf-project-card[hidden] {
	display: none !important;
}

.asnaf-project-card > .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 192px;
	object-fit: cover;
}

.asnaf-project-body {
	display: flex !important;
	flex-direction: column !important;
	gap: 5px !important;
	padding: 13px 16px 15px;
}

.asnaf-project-title .elementor-heading-title {
	font: 800 15px/1.2 Georgia, "Times New Roman", serif !important;
}

.asnaf-project-type .elementor-heading-title {
	color: var(--asnaf-gold) !important;
	font: 700 10px/1.3 Inter, Arial, sans-serif !important;
}

.asnaf-project-place,
.asnaf-project-place p {
	color: #6d625a;
	font: 400 10px/1.4 Inter, Arial, sans-serif;
}

.asnaf-project-more {
	margin: 20px auto 0;
	width: max-content !important;
	align-self: center !important;
}

.asnaf-realisations-cta {
	background-color: #650c0e;
}

.asnaf-realisations-cta::before {
	background: linear-gradient(90deg, rgba(92, 7, 10, .98), rgba(92, 7, 10, .9) 58%, rgba(17, 7, 6, .28));
}

/* Contact */
.asnaf-contact-hero {
	min-height: 360px;
	background: #090807 url("../uploads/2026/07/asnaf-riad-hero-hq-v2.webp") center/cover no-repeat;
}

.asnaf-contact-promises {
	display: grid !important;
	grid-template-columns: repeat(3, auto);
	align-items: center !important;
	gap: 0 !important;
	margin-top: 10px;
}

.asnaf-contact-promise {
	display: grid !important;
	grid-template-columns: 30px 1fr;
	gap: 10px !important;
	padding: 0 20px;
	border-right: 1px solid rgba(209, 161, 94, .5);
}

.asnaf-contact-promise:first-child { padding-left: 0; }
.asnaf-contact-promise:last-child { border-right: 0; }

.asnaf-contact-promise-title .elementor-heading-title,
.asnaf-contact-promise-text,
.asnaf-contact-promise-text p {
	color: #fff !important;
	font: 700 11px/1.4 Inter, Arial, sans-serif !important;
}

.asnaf-contact-promise-text,
.asnaf-contact-promise-text p {
	font-weight: 400;
}

.asnaf-contact-heading {
	margin-bottom: 22px;
}

.asnaf-contact-cards {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px !important;
	margin-bottom: 36px;
}

.asnaf-contact-card {
	min-height: 84px;
	display: grid !important;
	grid-template-columns: 46px 1fr;
	align-items: center !important;
	gap: 12px !important;
	padding: 17px 22px;
	border: 1px solid var(--asnaf-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, .52);
}

.asnaf-contact-card-copy {
	display: flex !important;
	flex-direction: column !important;
	gap: 5px !important;
}

.asnaf-contact-card-title .elementor-heading-title {
	font: 800 14px/1.2 Georgia, "Times New Roman", serif !important;
}

.asnaf-contact-card-text,
.asnaf-contact-card-text p {
	color: #423a34;
	font: 400 11px/1.4 Inter, Arial, sans-serif;
}

.asnaf-contact-main {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 24px !important;
	align-items: stretch !important;
}

.asnaf-contact-form {
	height: 100%;
	padding: 27px 30px 30px;
	border: 1px solid var(--asnaf-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, .52);
}

.asnaf-contact-form h2 {
	margin: 0 0 25px;
	font: 800 29px/1.1 Georgia, "Times New Roman", serif;
}

.asnaf-contact-form h2 span {
	color: var(--asnaf-gold);
}

.asnaf-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.asnaf-contact-form input,
.asnaf-contact-form textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid #ded2c7;
	border-radius: 5px;
	background: rgba(255, 255, 255, .7);
	color: var(--asnaf-ink);
	font: 400 12px/1.4 Inter, Arial, sans-serif;
}

.asnaf-contact-form textarea {
	margin-top: 15px;
	resize: vertical;
}

.asnaf-contact-form .asnaf-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 15px 0 20px;
	color: #655a52;
	font: 400 11px/1.5 Inter, Arial, sans-serif;
}

.asnaf-contact-form .asnaf-consent input {
	width: 15px;
	height: 15px;
	margin-top: 1px;
}

.asnaf-contact-form button {
	min-width: 230px;
	padding: 15px 22px;
	border: 0;
	border-radius: 5px;
	background: var(--asnaf-red) !important;
	color: #fff !important;
	font: 800 12px/1 Inter, Arial, sans-serif;
	text-transform: uppercase;
	cursor: pointer;
}

.asnaf-contact-form button span {
	margin-left: 16px;
	font-size: 18px;
}

.asnaf-form-notice {
	margin: -10px 0 15px !important;
	padding: 10px 12px;
	border-radius: 4px;
	font-size: 12px;
}

.asnaf-form-notice.success { background: #e8f5e9; color: #24622a; }
.asnaf-form-notice.error { background: #fdebea; color: #8e1014; }

.asnaf-contact-visual {
	display: flex !important;
	flex-direction: column !important;
	border-radius: 8px;
	overflow: hidden;
	background: #171411;
}

.asnaf-contact-visual > .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 315px;
	object-fit: cover;
}

.asnaf-contact-quote {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	padding: 24px 30px 26px;
}

.asnaf-quote-mark .elementor-heading-title {
	color: var(--asnaf-gold) !important;
	font: 900 48px/.6 Georgia, "Times New Roman", serif !important;
}

.asnaf-quote-copy,
.asnaf-quote-copy p {
	color: #fff;
	font: 400 13px/1.55 Inter, Arial, sans-serif;
}

.asnaf-quote-author .elementor-heading-title {
	color: var(--asnaf-gold-light) !important;
	font: 700 12px/1.4 Inter, Arial, sans-serif !important;
}

/* Blog */
.asnaf-blog-hero {
	min-height: 292px;
	background: #080707 url("../uploads/2026/07/asnaf-riad-hero-hq-v2.webp") center 61%/cover no-repeat;
}

.asnaf-blog-hero .asnaf-hero-content {
	max-width: 850px;
}

.asnaf-blog-hero .e-con-inner {
	width: min(1180px, calc(100% - 108px));
}

.asnaf-blog-hero .asnaf-hero-title .elementor-heading-title {
	font-size: clamp(36px, 3.7vw, 38px) !important;
}

.asnaf-blog-hero .asnaf-hero-copy,
.asnaf-blog-hero .asnaf-hero-copy p {
	max-width: 460px;
	font-size: 12px;
	line-height: 1.58;
}

.asnaf-blog-area {
	padding: 38px 0 28px;
	background: #f9f5f2;
}

.asnaf-blog-layout {
	width: min(1180px, calc(100% - 108px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 224px;
	gap: 28px;
	align-items: start;
}

.asnaf-blog-heading {
	margin: 0 0 22px;
	font: 800 26px/1.1 Georgia, "Times New Roman", serif;
}

.asnaf-blog-heading span {
	color: var(--asnaf-gold);
}

.asnaf-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.asnaf-blog-card {
	min-width: 0;
	border: 1px solid var(--asnaf-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, .68);
	overflow: hidden;
	box-shadow: 0 8px 22px rgba(65, 39, 21, .04);
}

.asnaf-blog-card__image {
	display: block;
	height: 150px;
	overflow: hidden;
}

.asnaf-blog-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.asnaf-blog-card:hover .asnaf-blog-card__image img {
	transform: scale(1.035);
}

.asnaf-blog-card__body {
	padding: 15px 17px 18px;
}

.asnaf-blog-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
	color: #8b7a6d;
	font: 600 8px/1.4 Inter, Arial, sans-serif;
	text-transform: uppercase;
}

.asnaf-blog-card__meta span {
	color: var(--asnaf-gold);
}

.asnaf-blog-card h2 {
	margin: 0 0 10px;
	font: 800 15px/1.32 Georgia, "Times New Roman", serif;
	height: 40px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.asnaf-blog-card h2 a {
	color: var(--asnaf-ink);
}

.asnaf-blog-card p {
	height: 49px;
	margin: 0 0 13px;
	color: #554b44;
	font: 400 10px/1.62 Inter, Arial, sans-serif;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.asnaf-blog-card__more {
	color: var(--asnaf-gold);
	font: 700 10px/1 Inter, Arial, sans-serif;
}

.asnaf-blog-card__more span {
	margin-left: 5px;
}

.asnaf-blog-search {
	display: grid;
	grid-template-columns: 1fr 42px;
	margin-bottom: 17px;
	border: 1px solid #dfd3c9;
	border-radius: 6px;
	overflow: hidden;
	background: rgba(255, 255, 255, .6);
}

.asnaf-blog-search input,
.asnaf-blog-search button {
	min-width: 0;
	padding: 12px 13px;
	border: 0;
	background: transparent;
	font: 400 10px/1 Inter, Arial, sans-serif;
}

.asnaf-blog-search button {
	background: transparent !important;
	color: var(--asnaf-gold) !important;
	font-size: 21px;
	cursor: pointer;
}

.asnaf-sidebar-box {
	padding: 20px;
	border-radius: 8px;
	background: rgba(245, 239, 233, .88);
}

.asnaf-sidebar-box h3 {
	margin: 0 0 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid #dfd1c5;
	font: 800 11px/1 Inter, Arial, sans-serif;
	text-transform: uppercase;
}

.asnaf-category-list {
	margin: 0;
	padding: 0 0 14px;
	list-style: none;
}

.asnaf-category-list li a {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 0;
	color: #3f3732;
	font: 400 11px/1.2 Inter, Arial, sans-serif;
}

.asnaf-category-name {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.asnaf-category-name img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	filter: invert(60%) sepia(23%) saturate(938%) hue-rotate(351deg) brightness(90%) contrast(85%);
}

.asnaf-blog-cta {
	width: min(1180px, calc(100% - 108px));
	min-height: 140px;
	padding-top: 22px;
	padding-bottom: 22px;
}

.asnaf-blog-cta .asnaf-section-title .elementor-heading-title {
	font-size: 34px !important;
}

.asnaf-blog-cta .asnaf-section-copy,
.asnaf-blog-cta .asnaf-section-copy p {
	font-size: 12px;
}

.asnaf-category-list b {
	font-weight: 500;
	color: #776b62;
}

.asnaf-popular-title {
	margin-top: 4px !important;
}

.asnaf-popular-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-bottom: 17px;
}

.asnaf-popular-list > a {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 10px;
	color: var(--asnaf-ink);
}

.asnaf-popular-list img {
	width: 58px;
	height: 47px;
	border-radius: 4px;
	object-fit: cover;
}

.asnaf-popular-list span {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.asnaf-popular-list strong {
	font: 700 9px/1.35 Inter, Arial, sans-serif;
}

.asnaf-popular-list small {
	color: #73675e;
	font: 400 8px/1 Inter, Arial, sans-serif;
}

.asnaf-newsletter {
	padding-top: 16px;
	border-top: 1px solid #dfd1c5;
}

.asnaf-newsletter p {
	margin: 0 0 12px;
	color: #554a43;
	font: 400 10px/1.55 Inter, Arial, sans-serif;
}

.asnaf-newsletter form {
	display: grid;
	grid-template-columns: 1fr auto;
	margin-bottom: 11px;
}

.asnaf-newsletter input {
	min-width: 0;
	padding: 11px;
	border: 1px solid #ddcfc3;
	border-radius: 5px 0 0 5px;
	font-size: 9px;
}

.asnaf-newsletter button {
	padding: 0 13px;
	border: 0;
	border-radius: 0 5px 5px 0;
	background: var(--asnaf-red) !important;
	color: #fff !important;
	font: 800 9px/1 Inter, Arial, sans-serif;
	text-transform: uppercase;
}

.asnaf-newsletter small {
	color: #74685f;
	font: 400 8px/1.4 Inter, Arial, sans-serif;
}

.asnaf-blog-pagination {
	display: flex;
	justify-content: center;
	gap: 9px;
	margin-top: 22px;
}

.asnaf-blog-pagination a {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border: 1px solid #d9cbbc;
	border-radius: 50%;
	color: #493e36;
	font-size: 11px;
}

.asnaf-blog-pagination a.is-current {
	background: var(--asnaf-gold);
	border-color: var(--asnaf-gold);
	color: #fff;
}

/* Keep the existing global footer visually connected to the new dark header. */
#uicore-tb-footer {
	margin-top: 0;
}

@media (max-width: 1180px) {
	#uicore-tb-header .elementor-element-380e5278 > .e-con-inner {
		grid-template-columns: 205px minmax(0, 1fr) auto !important;
		gap: 18px !important;
	}
	#uicore-tb-header .asnaf-global-logo { width: 205px !important; }
	#uicore-tb-header .rr-header-menu__list { gap: 13px; }
	#uicore-tb-header .rr-header-menu__list a { font-size: 10px; }
	.asnaf-services-grid,
	.asnaf-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.asnaf-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.asnaf-process-step:nth-child(3) { border-right: 0; }
}

@media (max-width: 900px) {
	#uicore-tb-header .elementor-element-380e5278 {
		padding: 0 24px !important;
	}
	#uicore-tb-header .elementor-element-380e5278 > .e-con-inner {
		grid-template-columns: 210px 1fr !important;
	}
	#uicore-tb-header .asnaf-global-cta { display: none; }
	#uicore-tb-header .asnaf-global-nav { position: relative; }
	#uicore-tb-header .rr-header-menu__toggle { display: block; }
	#uicore-tb-header .rr-header-menu__toggle > span:not(.screen-reader-text) { background: #fff; }
	#uicore-tb-header .rr-header-menu__panel {
		position: absolute;
		z-index: 100;
		top: calc(100% + 18px);
		right: 0;
		display: none;
		width: min(300px, calc(100vw - 36px));
		background: #171411;
		border: 1px solid rgba(255,255,255,.1);
	}
	#uicore-tb-header .rr-header-menu.is-open .rr-header-menu__panel { display: block; }
	#uicore-tb-header .rr-header-menu__list { display: block; }
	#uicore-tb-header .rr-header-menu__list a {
		padding: 14px 19px;
		color: #fff;
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
	}
	#uicore-tb-header .rr-header-menu__list a:hover,
	#uicore-tb-header .rr-header-menu__list .current-menu-item > a { background: rgba(255,255,255,.06); }
	.asnaf-realisations-hero > .e-con-inner,
	.asnaf-contact-main { grid-template-columns: 1fr; }
	.asnaf-realisations-hero > .e-con-inner { padding: 50px 0; }
	.asnaf-values-strip,
	.asnaf-stats-strip,
	.asnaf-contact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.asnaf-value-item:nth-child(2),
	.asnaf-stat-item:nth-child(2) { border-right: 0; }
	.asnaf-blog-layout { grid-template-columns: 1fr; }
	.asnaf-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.elementor-51 .asnaf-proof-grid > .e-con-inner { grid-template-columns: 1fr !important; }
	.asnaf-blog-sidebar { display: grid; grid-template-columns: 1fr; }
	.asnaf-cta-banner > .e-con-inner { flex-direction: column !important; align-items: flex-start !important; }
}

@media (max-width: 680px) {
	#uicore-tb-header .elementor-element-380e5278 {
		min-height: 64px !important;
		padding: 0 18px !important;
	}
	#uicore-tb-header .elementor-element-380e5278 > .e-con-inner { grid-template-columns: minmax(0, 205px) 1fr !important; }
	#uicore-tb-header .asnaf-global-logo { width: min(205px, 64vw) !important; }
	.elementor-51 .asnaf-hero { min-height: 0 !important; }
	.elementor-51 .asnaf-hero-inner { margin-top: 34px !important; }
	.elementor-101 .ap-hero { min-height: 360px !important; }
	.elementor-101 .ap-hero-content { margin-top: 54px !important; }
	.asnaf-shell,
	.asnaf-hero-subpage .e-con-inner,
	.asnaf-blog-layout,
	.asnaf-blog-cta,
	.asnaf-cta-banner,
	.asnaf-values-strip,
	.asnaf-stats-strip { width: min(100% - 36px, 1180px); }
	.asnaf-section { padding: 34px 0; }
	.asnaf-hero-subpage { min-height: 370px; }
	.asnaf-hero-title .elementor-heading-title { font-size: 39px; }
	.asnaf-services-grid,
	.asnaf-project-grid,
	.asnaf-values-strip,
	.asnaf-stats-strip,
	.asnaf-contact-cards,
	.asnaf-blog-grid,
	.asnaf-process-grid { grid-template-columns: 1fr; }
	.asnaf-value-item,
	.asnaf-stat-item,
	.asnaf-process-step,
	.asnaf-process-step:nth-child(3) { border-right: 0; border-bottom: 1px solid #dfd3c8; }
	.asnaf-value-item:last-child,
	.asnaf-stat-item:last-child,
	.asnaf-process-step:last-child { border-bottom: 0; }
	.asnaf-contact-promises { grid-template-columns: 1fr; gap: 12px !important; }
	.asnaf-contact-promise,
	.asnaf-contact-promise:first-child { padding: 0; border-right: 0; }
	.asnaf-form-grid { grid-template-columns: 1fr; }
	.asnaf-contact-form { padding: 24px 20px; }
	.asnaf-contact-form button { min-width: 0; width: 100%; }
	.asnaf-project-card > .elementor-widget-image img { height: 220px; }
	.asnaf-blog-card__image { height: 210px; }
	.asnaf-cta-banner { padding: 26px 22px; }
	.asnaf-button-row { align-items: stretch !important; }
	.asnaf-button .elementor-button { width: 100%; }
}
