:root {
  --diyar-primary: #1854b4;
  --diyar-dark: #15223b;
  --diyar-accent: #4f8fe8;
  --diyar-light: #eef5ff;
  --diyar-soft: #f7f9fc;
  --diyar-text: #25334a;
  --diyar-muted: #6b7689;
  --diyar-border: #dfe6ef;
  --diyar-white: #fff;
  --diyar-radius: 18px;
  --diyar-shadow: 0 24px 70px rgba(19, 42, 77, .14);
  --diyar-shadow-soft: 0 14px 40px rgba(19, 42, 77, .09);
  --container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--diyar-text); background: #fff; font-family: "Cairo", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 1.85; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--diyar-primary); text-decoration: none; transition: color .25s ease, background .25s ease, transform .25s ease, border-color .25s ease; }
a:hover { color: var(--diyar-accent); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, h5, h6 { color: var(--diyar-dark); line-height: 1.3; margin: 0 0 .65em; font-weight: 800; }
h1 { font-size: clamp(2.35rem, 4.8vw, 5.2rem); }
h2 { font-size: clamp(1.85rem, 3vw, 3.25rem); }
h3 { font-size: clamp(1.1rem, 1.4vw, 1.35rem); }
p { margin: 0 0 1.15em; }
ul, ol { padding-inline-start: 1.4rem; }
::selection { color: #fff; background: var(--diyar-primary); }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.site-main { min-height: 55vh; }
.section-space, .home-section { padding-block: clamp(72px, 8vw, 120px); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { display: block; width: auto; height: auto; clip: auto !important; top: 8px; inset-inline-start: 8px; padding: 12px 18px; color: #fff; background: var(--diyar-dark); z-index: 99999; }
.diyar-icon { width: 24px; height: 24px; flex: 0 0 auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--diyar-primary); font-size: .84rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.eyebrow::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.eyebrow--light { color: #dceaff; }
.section-heading { max-width: 720px; margin-bottom: 44px; }
.section-heading h2 { margin-bottom: 14px; }
.section-heading p { color: var(--diyar-muted); font-size: 1.06rem; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading--center .eyebrow { justify-content: center; }
.heading-row { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.heading-row .section-heading { margin-bottom: 44px; }

.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 24px; border: 1px solid transparent; border-radius: 8px; font-size: .94rem; font-weight: 800; line-height: 1.2; }
.button .diyar-icon { width: 19px; height: 19px; }
.button:hover { transform: translateY(-2px); }
.button--primary { color: #fff; background: linear-gradient(135deg, var(--diyar-primary), #2871d7); box-shadow: 0 12px 30px rgba(24, 84, 180, .27); }
.button--primary:hover { color: #fff; background: var(--diyar-dark); }
.button--outline { color: var(--diyar-primary); border-color: rgba(24, 84, 180, .5); background: rgba(255,255,255,.75); }
.button--outline:hover { color: #fff; background: var(--diyar-primary); }
.button--outline-light { color: #fff; border-color: rgba(255,255,255,.5); }
.button--outline-light:hover { color: var(--diyar-primary); background: #fff; }
.button--white { color: var(--diyar-primary); background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.13); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--diyar-primary); font-weight: 800; }
.text-link .diyar-icon { width: 18px; transition: transform .25s ease; }
[dir="rtl"] .text-link .diyar-icon, [dir="rtl"] .button .diyar-icon--arrow { transform: scaleX(-1); }
.text-link:hover .diyar-icon { transform: translateX(4px); }
[dir="rtl"] .text-link:hover .diyar-icon { transform: scaleX(-1) translateX(4px); }
.text-link--large { font-size: 1.02rem; margin-top: 12px; }

.topbar { position: relative; z-index: 110; color: #dbe6f8; background: var(--diyar-dark); font-size: .78rem; }
.topbar__inner, .topbar__contact, .topbar__meta { display: flex; align-items: center; }
.topbar__inner { min-height: 38px; justify-content: space-between; gap: 20px; }
.topbar__contact, .topbar__meta { gap: 24px; }
.topbar a, .topbar span { color: inherit; }
.topbar a, .topbar__meta > span { display: inline-flex; align-items: center; gap: 7px; }
.topbar .diyar-icon { width: 15px; height: 15px; color: #74a8ef; }
.language-link { min-width: 30px; justify-content: center; color: #fff !important; font-family: "Montserrat", sans-serif; font-weight: 700; }
.mobile-language { display: none; }

.site-header { position: relative; z-index: 100; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(21,34,59,.07); transition: box-shadow .3s ease, transform .3s ease; }
.has-sticky-header .site-header { position: sticky; top: 0; }
.site-header.is-scrolled { box-shadow: 0 12px 35px rgba(21,34,59,.12); }
.site-header__inner { min-height: 82px; display: flex; align-items: center; gap: 34px; }
.site-branding { flex: 0 0 auto; width: var(--diyar-logo-width, 176px); display: block; }
.site-branding img { width: 100%; max-height: 68px; object-fit: contain; }
.primary-navigation { flex: 1; }
.primary-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.5vw, 34px); }
.primary-menu li { position: relative; }
.primary-menu > li > a { position: relative; display: block; padding-block: 28px; color: var(--diyar-dark); font-size: .92rem; font-weight: 700; white-space: nowrap; }
.primary-menu > li > a::after { content: ""; position: absolute; height: 3px; width: 0; bottom: 18px; inset-inline-start: 0; background: var(--diyar-primary); border-radius: 3px; transition: width .25s ease; }
.primary-menu > li:hover > a::after, .primary-menu > .current-menu-item > a::after { width: 100%; }
.primary-menu .sub-menu { position: absolute; min-width: 220px; top: calc(100% - 8px); inset-inline-start: -20px; padding: 12px; margin: 0; list-style: none; opacity: 0; visibility: hidden; transform: translateY(8px); color: var(--diyar-dark); background: #fff; border-radius: 10px; box-shadow: var(--diyar-shadow-soft); transition: .25s ease; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.primary-menu .sub-menu a { display: block; color: var(--diyar-dark); padding: 9px 12px; border-radius: 6px; }
.primary-menu .sub-menu a:hover { color: var(--diyar-primary); background: var(--diyar-light); }
.header-cta { flex: 0 0 auto; }
.header-language { display: none; }
.menu-toggle { display: none; width: 46px; height: 44px; padding: 10px; border: 0; background: transparent; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 26px; height: 2px; margin: 5px auto; background: var(--diyar-dark); transition: .25s ease; }

/* Concept header: matches the approved cover visual while retaining the classic header option. */
.site-header--concept,
.has-sticky-header .site-header--concept {
  position: absolute;
  inset: 0 0 auto;
  z-index: 120;
  color: var(--diyar-dark);
  background: transparent;
  border: 0;
  box-shadow: 0 10px 34px rgba(8,24,49,.18);
}
.site-header--concept::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 72%;
  background: rgba(255,255,255,.98);
  clip-path: polygon(0 0,100% 0,94% 100%,0 100%);
  transition: width .3s ease, clip-path .3s ease;
}
.site-header--concept::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 67.5%;
  width: 6.5%;
  min-width: 68px;
  opacity: .76;
  background: linear-gradient(112deg, transparent 0 35%, rgba(255,255,255,.94) 36% 49%, rgba(255,255,255,.42) 50% 61%, transparent 62%);
  pointer-events: none;
}
.site-header--concept .site-header__inner {
  position: relative;
  z-index: 2;
  min-height: 108px;
  width: min(calc(100% - 40px), 1290px);
  direction: ltr;
  gap: clamp(30px, 4vw, 68px);
}
.site-header--concept .site-branding {
  width: min(var(--diyar-logo-width, 176px), 158px);
}
.site-header--concept .site-branding img { max-height: 82px; }
.site-header--concept .primary-navigation {
  position: absolute;
  left: 44%;
  width: min(60vw, 760px);
  min-width: 0;
  transform: translateX(-50%);
}
html[dir="rtl"] .site-header--concept .primary-navigation { direction: rtl; }
html[dir="ltr"] .site-header--concept .primary-navigation { direction: ltr; }
.site-header--concept .primary-menu {
  justify-content: center;
  gap: clamp(25px, 2.7vw, 48px);
}
.site-header--concept .primary-menu > li > a {
  padding-block: 41px;
  font-size: .94rem;
  font-weight: 600;
}
.site-header--concept .primary-menu > li > a::after {
  bottom: 24px;
  height: 2px;
}
.site-header--concept.site-header--hide-home .primary-menu > .menu-item-home { display: none; }
.site-header--concept .header-language {
  position: absolute;
  top: 50%;
  right: calc((100vw - 100%) / -2 + 5vw);
  display: flex;
  flex: 0 0 66px;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  transform: translateY(-50%);
}
.site-header--concept .header-language .language-link {
  display: inline-flex;
  min-width: 42px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-size: .92rem;
  text-shadow: 0 2px 12px rgba(0,0,0,.42);
}
.site-header--concept .header-cta { margin-inline-start: auto; }
.has-sticky-header .site-header--concept.is-scrolled {
  position: fixed;
  background: rgba(255,255,255,.98);
  backdrop-filter: blur(12px);
}
.site-header--concept.is-scrolled::before { width: 100%; clip-path: none; }
.site-header--concept.is-scrolled::after { opacity: 0; }
.site-header--concept.is-scrolled .header-language .language-link {
  color: var(--diyar-primary) !important;
  background: var(--diyar-light);
  border-radius: 7px;
  text-shadow: none;
}
.site-header--concept + .site-main .home-hero .hero-building {
  top: 0;
  bottom: auto;
  height: 100%;
}
body.error404 .site-header--concept {
  position: relative;
  background: rgba(255,255,255,.98);
}
body.error404 .site-header--concept::before { width: 100%; clip-path: none; }
body.error404 .site-header--concept::after { display: none; }
body.error404 .site-header--concept .header-language .language-link {
  color: var(--diyar-primary) !important;
  background: var(--diyar-light);
  border-radius: 7px;
  text-shadow: none;
}

.home-hero { position: relative; min-height: 690px; overflow: hidden; direction: ltr; background: linear-gradient(120deg, #fff 0 50%, #eaf2fd 50% 100%); }
.home-hero::before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgba(24,84,180,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(24,84,180,.04) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg,#000,transparent 55%); }
.home-hero__shape--one { position: absolute; width: 42%; height: 160%; top: -30%; inset-inline-start: 36%; transform: skewX(-17deg); background: #fff; box-shadow: 20px 0 40px rgba(22,55,104,.08); z-index: 1; }
.home-hero__grid { position: relative; z-index: 3; min-height: 610px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 45px; direction: ltr; }
.home-hero__copy { position: relative; z-index: 5; padding-block: 70px; }
html[dir="rtl"] .home-hero__copy { direction: rtl; text-align: right; }
html[dir="rtl"] .home-hero__actions { direction: ltr; }
html[dir="rtl"] .home-hero__actions .button { direction: rtl; }
.home-hero__copy h1 { display: flex; flex-direction: column; max-width: 680px; margin-bottom: 24px; font-size: clamp(3rem, 5.4vw, 5.7rem); line-height: 1.18; }
.home-hero__copy h1 span { color: var(--diyar-primary); }
.home-hero__copy > p { max-width: 570px; color: #59677b; font-size: 1.08rem; line-height: 1.95; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.home-hero__assurance { width: max-content; max-width: 100%; display: grid; grid-template-columns: 48px 1fr; gap: 0 12px; align-items: center; margin-top: 34px; padding-inline-end: 18px; border-inline-end: 2px solid var(--diyar-primary); }
.home-hero__assurance > span { grid-row: 1 / 3; width: 48px; height: 48px; display: grid; place-items: center; color: var(--diyar-primary); background: var(--diyar-light); border-radius: 50%; }
.home-hero__assurance strong { color: var(--diyar-dark); line-height: 1.35; }
.home-hero__assurance small { color: var(--diyar-muted); }
.home-hero__visual { position: absolute; width: 58vw; height: 610px; top: 0; inset-inline-end: calc((100vw - min(100vw - 40px, var(--container))) / -2); }
.hero-power, .hero-building { position: absolute; background-position: center; background-size: cover; box-shadow: var(--diyar-shadow); }
.hero-power { width: 64%; height: 62%; top: 0; inset-inline-start: 0; clip-path: polygon(14% 0,100% 0,86% 100%,0 100%); filter: saturate(.75); }
.hero-power::after, .hero-building::after { content: ""; position: absolute; inset: 0; background: linear-gradient(125deg, rgba(24,84,180,.08), rgba(21,34,59,.28)); }
.hero-building { width: 66%; height: 79%; bottom: 0; inset-inline-end: 0; background-position: center 58%; clip-path: polygon(21% 0,100% 0,100% 100%,0 100%); }
.hero-blueprint { position: absolute; width: 54%; height: 145px; bottom: 0; inset-inline-start: 5%; background: linear-gradient(135deg, rgba(24,84,180,.98), rgba(13,49,110,.95)), url(../images/blueprint-lines.jpg) center/cover; clip-path: polygon(9% 0,100% 0,89% 100%,0 100%); box-shadow: var(--diyar-shadow); }
.home-hero__rail { position: relative; z-index: 5; min-height: 80px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; padding-inline: max(20px, calc((100vw - var(--container)) / 2)); color: #fff; background: linear-gradient(90deg, var(--diyar-dark), var(--diyar-primary)); }
.home-hero__rail span { padding: 12px 24px; text-align: center; font-weight: 700; border-inline-start: 1px solid rgba(255,255,255,.17); }

.stats-band { position: relative; z-index: 6; color: #fff; background: #fff; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: -1px; background: linear-gradient(110deg, var(--diyar-primary), #0f3f91); box-shadow: var(--diyar-shadow); }
.stat-item { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 118px; padding: 24px; border-inline-start: 1px solid rgba(255,255,255,.18); }
.stat-item__icon { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.45); border-radius: 13px; transform: rotate(45deg); }
.stat-item__icon .diyar-icon { transform: rotate(-45deg); }
.stat-item strong, .stat-item span { display: block; }
.stat-item strong { color: #fff; font-family: "Montserrat", sans-serif; font-size: 1.6rem; line-height: 1.2; }
.stat-item span { color: #dceaff; font-size: .82rem; }

.services-section { background: #fff; }
.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.service-card { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--diyar-border); border-radius: 14px; box-shadow: var(--diyar-shadow-soft); transition: transform .3s ease, box-shadow .3s ease; }
.service-card:hover { transform: translateY(-8px); box-shadow: var(--diyar-shadow); }
.service-card__media { position: relative; display: block; height: 205px; overflow: hidden; background: #dce8f8; }
.service-card__media::after { content: ""; position: absolute; inset: auto 0 0; height: 60%; background: linear-gradient(transparent, rgba(15,33,62,.38)); }
.service-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.service-card:hover .service-card__media img { transform: scale(1.06); }
.service-card__media > span { position: absolute; z-index: 2; width: 58px; height: 58px; bottom: -1px; inset-inline-end: 18px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--diyar-primary), #3077da); border: 4px solid #fff; clip-path: polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%); }
.service-card__body { padding: 26px 24px 24px; }
.service-card__body h2, .service-card__body h3 { margin-bottom: 10px; font-size: 1.1rem; }
.service-card__body h2 a, .service-card__body h3 a { color: inherit; }
.service-card__body p { min-height: 62px; color: var(--diyar-muted); font-size: .88rem; line-height: 1.75; }

.about-section { background: linear-gradient(90deg, var(--diyar-soft) 0 42%, #fff 42%); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.about-visual { position: relative; min-height: 560px; }
.about-visual::before { content: ""; position: absolute; width: 88%; height: 88%; top: -22px; inset-inline-start: -22px; border: 2px solid var(--diyar-primary); clip-path: polygon(0 0,100% 0,100% 20%,20% 20%,20% 100%,0 100%); }
.about-visual__main { position: absolute; inset: 0 0 60px; overflow: hidden; border-radius: 4px 70px 4px 4px; box-shadow: var(--diyar-shadow); }
[dir="rtl"] .about-visual__main { border-radius: 70px 4px 4px 4px; }
.about-visual__main img { width: 100%; height: 100%; object-fit: cover; }
.about-visual__card { position: absolute; bottom: 0; inset-inline-end: -30px; width: 72%; padding: 22px 26px; color: #fff; background: linear-gradient(135deg, var(--diyar-primary), var(--diyar-dark)); box-shadow: var(--diyar-shadow); }
.about-visual__card strong, .about-visual__card span { display: block; }
.about-visual__card strong { font-size: 1.08rem; }
.about-visual__card span { color: #d9e8ff; font-size: .82rem; }
.about-copy h2 { margin-bottom: 24px; }
.about-copy .lead { color: var(--diyar-text); font-size: 1.06rem; font-weight: 600; }
.about-copy > p:not(.lead) { color: var(--diyar-muted); }
.about-points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin-block: 26px; }
.about-points span { display: flex; align-items: center; gap: 9px; color: var(--diyar-dark); font-size: .9rem; font-weight: 700; }
.about-points .diyar-icon { width: 20px; height: 20px; padding: 3px; color: #fff; background: var(--diyar-primary); border-radius: 50%; }

.section--blueprint { position: relative; color: #fff; background-color: var(--diyar-dark); background-image: linear-gradient(120deg, rgba(24,84,180,.92), rgba(11,31,63,.94)), url(../images/blueprint-lines.jpg); background-position: center; background-size: cover; }
.section--blueprint::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 40px 40px; pointer-events: none; }
.section--blueprint > * { position: relative; }
.section--blueprint h2, .section--blueprint h3, .section--blueprint a { color: #fff; }
.section--blueprint .eyebrow { color: #bdd8ff; }
.projects-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.project-card { overflow: hidden; background: #fff; border-radius: 12px; box-shadow: 0 20px 50px rgba(2,15,38,.24); transition: transform .3s ease; }
.project-card:hover { transform: translateY(-7px); }
.project-card__media { position: relative; display: block; height: 240px; overflow: hidden; }
.project-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(7,25,52,.5)); }
.project-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.project-card:hover .project-card__media img { transform: scale(1.06); }
.project-card__arrow { position: absolute; z-index: 2; width: 43px; height: 43px; inset-inline-end: 14px; bottom: 14px; display: grid; place-items: center; color: #fff; background: var(--diyar-primary); border-radius: 50%; }
.project-card__body { padding: 19px 20px 22px; }
.project-card__body span { color: var(--diyar-primary); font-size: .75rem; font-weight: 700; }
.project-card__body h2, .project-card__body h3 { margin: 5px 0 0; color: var(--diyar-dark); font-size: 1rem; }
.project-card__body h2 a, .project-card__body h3 a { color: inherit; }

.why-section { overflow: hidden; background: var(--diyar-soft); }
.why-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: start; }
.why-copy { position: sticky; top: 130px; }
.why-copy > p { color: var(--diyar-muted); font-size: 1.02rem; }
.why-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.why-card { display: flex; gap: 18px; padding: 30px; background: #fff; border: 1px solid var(--diyar-border); box-shadow: var(--diyar-shadow-soft); }
.why-card:nth-child(1) { border-radius: 36px 8px 8px 8px; }
.why-card:nth-child(4) { border-radius: 8px 8px 36px 8px; }
[dir="rtl"] .why-card:nth-child(1) { border-radius: 8px 36px 8px 8px; }
[dir="rtl"] .why-card:nth-child(4) { border-radius: 8px 8px 8px 36px; }
.why-card > span { width: 54px; height: 54px; display: grid; place-items: center; flex: 0 0 auto; color: var(--diyar-primary); background: var(--diyar-light); border-radius: 13px; }
.why-card h3 { margin-bottom: 8px; }
.why-card p { margin: 0; color: var(--diyar-muted); font-size: .84rem; line-height: 1.75; }

.departments-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.department-card { min-height: 210px; padding: 30px 24px; text-align: center; background: #fff; border: 1px solid var(--diyar-border); box-shadow: var(--diyar-shadow-soft); transition: .3s ease; }
.department-card:nth-child(odd) { border-radius: 24px 6px; }
.department-card:nth-child(even) { border-radius: 6px 24px; }
.department-card:hover { color: #fff; background: var(--diyar-primary); transform: translateY(-8px); }
.department-card > span { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 20px; color: var(--diyar-primary); background: var(--diyar-light); border-radius: 16px; transform: rotate(45deg); }
.department-card > span .diyar-icon { transform: rotate(-45deg); }
.department-card h3 { font-size: .98rem; }
.department-card p { margin: 0; color: var(--diyar-muted); font-size: .78rem; }
.department-card:hover h3, .department-card:hover p { color: #fff; }

.clients-section { padding-top: 35px; background: #fff; }
.clients-row { display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid var(--diyar-border); border-radius: 14px; overflow: hidden; }
.client-logo { min-height: 115px; display: flex; align-items: center; justify-content: center; padding: 18px; color: #536176; background: #fff; border-inline-start: 1px solid var(--diyar-border); font-family: "Montserrat", "Cairo", sans-serif; font-size: .9rem; font-weight: 800; text-align: center; filter: grayscale(1); transition: .3s ease; }
.client-logo:hover { color: var(--diyar-primary); filter: none; background: var(--diyar-light); }
.client-logo img { max-height: 64px; max-width: 145px; object-fit: contain; }

.contact-section { background: linear-gradient(135deg, var(--diyar-soft), #fff); }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.contact-copy > p { color: var(--diyar-muted); font-size: 1.02rem; }
.contact-list { list-style: none; margin: 0; padding: 0; }
.contact-list li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.contact-list .diyar-icon { margin-top: 5px; color: var(--diyar-primary); }
.contact-list--large { margin-top: 28px; }
.contact-list--large li { margin-bottom: 18px; font-size: 1.02rem; font-weight: 700; }
.contact-panel { min-height: 420px; padding: 40px; background: #fff; border-top: 5px solid var(--diyar-primary); border-radius: 4px 32px 4px 4px; box-shadow: var(--diyar-shadow); }
[dir="rtl"] .contact-panel { border-radius: 32px 4px 4px 4px; }
.contact-panel__placeholder { min-height: 335px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.contact-panel__placeholder > span { width: 78px; height: 78px; display: grid; place-items: center; margin-bottom: 20px; color: var(--diyar-primary); background: var(--diyar-light); border-radius: 50%; }
.contact-panel__placeholder h3 { font-size: 1.35rem; }
.contact-panel__placeholder p { max-width: 430px; color: var(--diyar-muted); }
.contact-panel input:not([type="submit"]), .contact-panel textarea, .contact-panel select { width: 100%; padding: 13px 15px; border: 1px solid var(--diyar-border); border-radius: 6px; background: #fbfcfe; outline: 0; }
.contact-panel input:focus, .contact-panel textarea:focus, .contact-panel select:focus { border-color: var(--diyar-primary); box-shadow: 0 0 0 3px rgba(24,84,180,.1); }
.contact-panel input[type="submit"] { min-height: 50px; padding: 12px 26px; color: #fff; background: var(--diyar-primary); border: 0; border-radius: 7px; font-weight: 800; }
.contact-form__heading { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.contact-form__heading > span { width: 54px; height: 54px; display: grid; place-items: center; flex: 0 0 auto; color: var(--diyar-primary); background: var(--diyar-light); border-radius: 15px; }
.contact-form__heading h3 { margin: 0 0 3px; font-size: 1.25rem; }
.contact-form__heading p { margin: 0; color: var(--diyar-muted); font-size: .86rem; }
.contact-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.diyar-contact-form p { margin-bottom: 16px; }
.diyar-contact-form label { display: block; margin-bottom: 6px; color: var(--diyar-dark); font-size: .84rem; font-weight: 700; }
.diyar-contact-form label > span { color: #c63b3b; }
.diyar-contact-form textarea { min-height: 120px; resize: vertical; }
.diyar-contact-form .button { margin-top: 20px; }
.contact-form__consent { display: flex !important; align-items: flex-start; gap: 9px; color: var(--diyar-muted) !important; font-weight: 500 !important; cursor: pointer; }
.contact-form__consent input { width: 18px !important; height: 18px; flex: 0 0 auto; margin-top: 5px; accent-color: var(--diyar-primary); }
.contact-form__consent span { color: inherit !important; }
.contact-form__notice { margin-bottom: 20px; padding: 12px 15px; border-radius: 7px; font-size: .88rem; font-weight: 700; }
.contact-form__notice--success { color: #17633c; background: #e9f8f0; border: 1px solid #bfe8d1; }
.contact-form__notice--error { color: #8f2727; background: #fff0f0; border: 1px solid #f1c8c8; }
.diyar-contact-form__website { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.footer-cta { padding-block: 45px; }
.footer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.footer-cta h2 { margin: 0; color: #fff; font-size: clamp(1.7rem, 3vw, 2.55rem); }
.footer-cta .footer-cta__button,
.footer-cta .footer-cta__button:visited { min-width: 190px; color: var(--diyar-primary) !important; background: #fff !important; }
.footer-cta .footer-cta__button:hover,
.footer-cta .footer-cta__button:focus { color: #fff !important; background: var(--diyar-dark) !important; }
.footer-cta .footer-cta__button span { color: inherit !important; }
.site-footer { color: #b7c3d5; background: #0c1729; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .75fr .9fr 1.15fr; gap: 55px; padding-block: 75px; }
.footer-logo { width: 200px; display: block; padding: 12px; margin-bottom: 18px; background: #fff; border-radius: 8px; }
.footer-about p { max-width: 340px; color: #aab7ca; font-size: .88rem; }
.site-footer h3 { color: #fff; font-size: 1rem; margin-bottom: 22px; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: 10px; }
.site-footer a { color: #b7c3d5; }
.site-footer a:hover { color: #fff; }
.social-links { display: flex; gap: 9px; margin-top: 22px; }
.social-links a { width: 37px; height: 37px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.08); border-radius: 7px; font-family: "Montserrat", sans-serif; font-size: .72rem; }
.social-links a:hover { background: var(--diyar-primary); transform: translateY(-2px); }
.footer-contact .contact-list li { color: #b7c3d5; font-size: .84rem; }
.footer-contact .diyar-icon { width: 18px; height: 18px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); }
.footer-bottom__inner { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-bottom p { margin: 0; color: #7f8ca0; font-size: .76rem; }

.page-hero { position: relative; min-height: 420px; display: flex; align-items: end; overflow: hidden; color: #fff; background: linear-gradient(130deg, var(--diyar-dark), var(--diyar-primary)); }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,24,49,.93), rgba(8,24,49,.38)); }
.page-hero__media { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: .78; }
.page-hero__content, .page-hero > .container { position: relative; z-index: 2; padding-block: 90px 65px; }
.page-hero h1 { color: #fff; margin: 0; font-size: clamp(2.3rem, 4vw, 4.4rem); }
.page-hero p { max-width: 720px; margin: 14px 0 0; color: #dce7f6; font-size: 1.05rem; }
.page-hero--small { min-height: 340px; align-items: center; background-image: linear-gradient(120deg, rgba(11,33,70,.95), rgba(24,84,180,.85)), url(../images/powerlines.jpg); background-position: center; background-size: cover; }
.page-hero--small::after { background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size: 42px 42px; }
.page-hero--small > .container { padding-block: 80px; }
.page-hero--about .page-hero__media { background-position: center 58%; }
.page-hero__icon { width: 68px; height: 68px; display: grid; place-items: center; margin-bottom: 22px; color: var(--diyar-primary); background: #fff; border-radius: 18px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 18px; color: #c9d8ee; font-size: .78rem; }
.breadcrumbs a { color: #fff; }

.entry-content { max-width: 900px; }
.entry-content > * { max-width: 100%; }
.entry-content h2 { margin-top: 1.5em; font-size: 2rem; }
.entry-content h3 { margin-top: 1.45em; }
.entry-content p, .entry-content li { color: #4f5c70; }
.entry-content img { border-radius: 12px; }
.entry-content blockquote { margin: 28px 0; padding: 24px 28px; border-inline-start: 4px solid var(--diyar-primary); color: var(--diyar-dark); background: var(--diyar-light); }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 55px; }
.posts-grid { display: grid; gap: 25px; }
.posts-grid--three { grid-template-columns: repeat(3, 1fr); }
.post-card { overflow: hidden; background: #fff; border: 1px solid var(--diyar-border); border-radius: 12px; box-shadow: var(--diyar-shadow-soft); }
.post-card__media { height: 230px; display: block; overflow: hidden; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.post-card__placeholder { height: 100%; display: grid; place-items: center; color: var(--diyar-primary); background: var(--diyar-light); }
.post-card__placeholder .diyar-icon { width: 62px; height: 62px; }
.post-card__content { padding: 25px; }
.post-card__meta { color: var(--diyar-primary); font-size: .76rem; }
.post-card h2 { font-size: 1.15rem; margin-top: 6px; }
.post-card h2 a { color: inherit; }
.post-card p { color: var(--diyar-muted); font-size: .88rem; }
.sidebar .widget { padding: 26px; margin-bottom: 24px; background: var(--diyar-soft); border-top: 3px solid var(--diyar-primary); }
.widget-title { font-size: 1.08rem; }
.sidebar ul { list-style: none; margin: 0; padding: 0; }
.sidebar li { padding-block: 8px; border-bottom: 1px solid var(--diyar-border); }
.pagination, .nav-links { display: flex; gap: 8px; margin-top: 35px; }
.page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 12px; color: var(--diyar-dark); background: var(--diyar-light); border-radius: 6px; }
.page-numbers.current, .page-numbers:hover { color: #fff; background: var(--diyar-primary); }

.about-page-intro__grid, .about-partnership__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; }
.about-page-intro__copy .lead, .about-partnership__copy .lead { color: var(--diyar-text); font-size: 1.08rem; font-weight: 600; }
.about-page-intro__copy > p:not(.lead) { color: var(--diyar-muted); }
.about-page-intro__visual { position: relative; padding: 20px 20px 0 0; }
[dir="rtl"] .about-page-intro__visual { padding: 20px 0 0 20px; }
.about-page-intro__visual::before { content: ""; position: absolute; inset: 0 0 25px 25px; background: var(--diyar-primary); clip-path: polygon(0 0,100% 0,100% 20px,20px 20px,20px 100%,0 100%); }
[dir="rtl"] .about-page-intro__visual::before { inset: 0 25px 25px 0; }
.about-page-intro__visual img { position: relative; width: 100%; min-height: 450px; object-fit: cover; box-shadow: var(--diyar-shadow); }
.about-page-badge { position: absolute; bottom: -28px; inset-inline-start: -30px; display: flex; align-items: center; gap: 14px; padding: 18px 24px; color: #fff; background: var(--diyar-dark); box-shadow: var(--diyar-shadow); }
.about-page-badge .diyar-icon { width: 34px; height: 34px; color: #79aaf0; }
.about-page-badge strong, .about-page-badge span { display: block; }
.about-page-badge span { font-size: .78rem; color: #c5d0e1; }
.about-page-badge strong { color: #fff; font-size: 1rem; }
.about-process { padding-block: clamp(80px, 8vw, 115px); }
.about-process .section-heading p { color: #c7d7ed; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.process-card { position: relative; min-height: 280px; padding: 35px 28px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(8px); }
.process-card > span { position: absolute; top: 18px; inset-inline-end: 20px; color: rgba(255,255,255,.2); font-family: "Montserrat", sans-serif; font-size: 2.4rem; font-weight: 800; }
.process-card > .diyar-icon { width: 44px; height: 44px; margin-bottom: 40px; color: #9bc3ff; }
.process-card h3 { color: #fff; }
.process-card p { color: #c8d7ea; font-size: .85rem; }
.about-pillars { background: var(--diyar-soft); }
.about-pillars__heading { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 45px; }
.about-pillars__heading .section-heading { margin: 0; }
.about-pillars__heading > p { color: var(--diyar-muted); }
.pillars-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.pillar-card { padding: 30px; background: #fff; border-bottom: 4px solid var(--diyar-primary); box-shadow: var(--diyar-shadow-soft); }
.pillar-card > .diyar-icon { width: 40px; height: 40px; margin-bottom: 22px; color: var(--diyar-primary); }
.pillar-card p { color: var(--diyar-muted); font-size: .85rem; }
.about-partnership { padding-block: clamp(75px, 8vw, 120px); overflow: hidden; }
.about-partnership__image { position: relative; }
.about-partnership__image::after { content: ""; position: absolute; inset: -20px -20px 20px 20px; border: 2px solid var(--diyar-primary); z-index: -1; }
[dir="rtl"] .about-partnership__image::after { inset: -20px 20px 20px -20px; }
.about-partnership__image img { width: 100%; max-height: 590px; object-fit: cover; box-shadow: var(--diyar-shadow); }

.services-grid--archive { grid-template-columns: repeat(3, 1fr); }
.projects-grid--archive { grid-template-columns: repeat(3, 1fr); }
.service-detail { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 65px; }
.service-detail__aside { position: relative; }
.detail-cta { position: sticky; top: 130px; padding: 32px; color: #fff; background: var(--diyar-dark); border-top: 5px solid var(--diyar-primary); box-shadow: var(--diyar-shadow); }
.detail-cta h3 { color: #fff; }
.detail-cta p { color: #bdc9db; font-size: .9rem; }
.project-detail-hero { min-height: 640px; display: flex; align-items: end; padding-block: 110px 80px; color: #fff; background-color: var(--diyar-dark); background-position: center; background-size: cover; }
.project-detail-hero h1 { max-width: 850px; color: #fff; }
.project-facts { max-width: 850px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 35px; }
.project-facts div { padding: 18px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); }
.project-facts span, .project-facts strong { display: block; }
.project-facts span { color: #bfd0e7; font-size: .72rem; }
.project-facts strong { color: #fff; }
.project-content { margin-inline: auto; }

.not-found__inner { max-width: 680px; margin-inline: auto; text-align: center; }
.not-found__code { display: block; color: var(--diyar-primary); font-family: "Montserrat", sans-serif; font-size: clamp(6rem, 18vw, 12rem); font-weight: 800; line-height: 1; opacity: .13; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } .reveal { opacity: 1; transform: none; } }

@media (max-width: 1120px) {
  .site-header__inner { gap: 20px; }
  .site-branding { width: min(var(--diyar-logo-width, 176px), 150px); }
  .primary-menu { gap: 17px; }
  .header-cta { padding-inline: 16px; }
  .site-header--concept::before { width: 80%; }
  .site-header--concept::after { left: 74%; }
  .site-header--concept .site-header__inner { gap: 25px; }
  .site-header--concept .primary-menu { gap: 22px; }
  .site-header--concept .primary-menu > li > a { font-size: .88rem; }
  .services-grid, .projects-grid { grid-template-columns: repeat(2, 1fr); }
  .departments-grid { grid-template-columns: repeat(3, 1fr); }
  .clients-row { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-contact { grid-column: span 3; }
}

@media (max-width: 920px) {
  .topbar__meta > span { display: none; }
  .site-header--concept,
  .has-sticky-header .site-header--concept,
  .has-sticky-header .site-header--concept.is-scrolled {
    position: sticky;
    inset: auto;
    top: 0;
    color: var(--diyar-dark);
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid rgba(21,34,59,.07);
    box-shadow: 0 8px 28px rgba(21,34,59,.1);
    backdrop-filter: blur(12px);
  }
  .site-header--concept::before,
  .site-header--concept::after { display: none; }
  .site-header--concept .site-header__inner { min-height: 82px; gap: 16px; }
  .site-header--concept .header-language { display: none; }
  .site-header--concept .primary-navigation {
    position: fixed;
    inset: 0;
    width: auto;
    transform: translateY(-15px);
  }
  .menu-toggle { display: block; margin-inline-start: auto; }
  .mobile-language { display: block; order: 2; }
  .mobile-language .language-link { min-width: 42px; height: 36px; display: inline-flex; align-items: center; color: var(--diyar-primary) !important; background: var(--diyar-light); border-radius: 7px; }
  .header-cta { display: none; }
  .primary-navigation { position: fixed; inset: 0; top: 0; z-index: 200; padding: 100px 28px 35px; background: rgba(12,23,41,.98); opacity: 0; visibility: hidden; transform: translateY(-15px); transition: .3s ease; overflow-y: auto; }
  .menu-open .primary-navigation { opacity: 1; visibility: visible; transform: none; }
  .menu-open .menu-toggle { position: fixed; z-index: 220; top: 22px; inset-inline-end: 24px; }
  .menu-open .menu-toggle > span { background: #fff; }
  .menu-open .menu-toggle > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-open .menu-toggle > span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .primary-menu { align-items: stretch; flex-direction: column; gap: 0; }
  .primary-menu > li > a { color: #fff; padding: 16px 0; font-size: 1.15rem; border-bottom: 1px solid rgba(255,255,255,.1); }
  .site-header--concept .primary-menu { gap: 0; }
  .site-header--concept .primary-menu > li > a { padding: 16px 0; color: #fff; font-size: 1.15rem; font-weight: 700; }
  .site-header--concept .primary-menu > li > a::after { display: none; }
  .primary-menu .sub-menu { position: static; display: block; padding: 0 18px; opacity: 1; visibility: visible; transform: none; color: #fff; background: transparent; box-shadow: none; }
  .primary-menu .sub-menu a { color: #bdc9db; }
  .home-hero { background: #fff; }
  .home-hero__shape { display: none; }
  .home-hero__grid { min-height: auto; grid-template-columns: 1fr; padding-top: 0; }
  .home-hero__copy { padding-block: 65px 30px; }
  .home-hero__copy h1 { max-width: none; font-size: clamp(2.8rem, 9vw, 4.9rem); }
  .home-hero__visual { position: relative; width: 100vw; height: 480px; inset-inline-end: calc((100vw - 100%) / -2); }
  .hero-power { width: 62%; }
  .hero-building { width: 66%; }
  .home-hero__rail { grid-template-columns: 1fr 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .about-grid, .why-grid, .contact-grid, .about-page-intro__grid, .about-partnership__grid { grid-template-columns: 1fr; }
  .about-visual { min-height: 510px; }
  .why-copy { position: static; }
  .about-pillars__heading { grid-template-columns: 1fr; gap: 15px; }
  .pillars-grid, .process-grid { grid-template-columns: 1fr 1fr; }
  .footer-cta__inner { align-items: flex-start; flex-direction: column; }
  .footer-cta .footer-cta__button { min-width: 210px; }
  .content-layout, .service-detail { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .posts-grid--three, .services-grid--archive, .projects-grid--archive { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 660px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  body { font-size: 15px; }
  .topbar__contact a:nth-child(2), .topbar__meta { display: none; }
  .topbar__inner { justify-content: center; }
  .site-header__inner { min-height: 72px; }
  .site-branding { width: min(var(--diyar-logo-width, 176px), 136px); }
  .home-hero__copy h1 { font-size: clamp(2.45rem, 13vw, 3.75rem); }
  .home-hero__visual { height: 370px; }
  .hero-power { width: 72%; height: 55%; }
  .hero-building { width: 75%; height: 76%; }
  .hero-blueprint { height: 100px; }
  .home-hero__rail { grid-template-columns: 1fr; padding-block: 10px; }
  .home-hero__rail span { padding: 9px; border: 0; }
  .stats-grid, .services-grid, .projects-grid, .why-cards, .departments-grid, .pillars-grid, .process-grid, .posts-grid--three, .services-grid--archive, .projects-grid--archive { grid-template-columns: 1fr; }
  .stat-item { justify-content: flex-start; min-height: 95px; border-bottom: 1px solid rgba(255,255,255,.15); }
  .about-section { background: var(--diyar-soft); }
  .about-visual { min-height: 410px; }
  .about-visual__card { width: 88%; inset-inline-end: 0; }
  .about-points { grid-template-columns: 1fr; }
  .heading-row { align-items: flex-start; flex-direction: column; margin-bottom: 35px; }
  .heading-row .section-heading { margin-bottom: 0; }
  .clients-row { grid-template-columns: 1fr 1fr; }
  .contact-panel { min-height: 0; padding: 25px 20px; }
  .contact-form__grid { grid-template-columns: 1fr; }
  .diyar-contact-form .button, .footer-cta .footer-cta__button { width: 100%; }
  .footer-cta { padding-block: 38px; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .footer-contact { grid-column: auto; }
  .footer-bottom__inner { align-items: flex-start; flex-direction: column; padding-block: 18px; }
  .page-hero { min-height: 350px; }
  .page-hero__content, .page-hero > .container { padding-block: 75px 48px; }
  .about-page-intro__visual img { min-height: 330px; }
  .about-page-badge { inset-inline-start: 10px; }
  .project-facts { grid-template-columns: 1fr 1fr; }
  .project-detail-hero { min-height: 540px; }
}

@media (min-width: 783px) {
  body.admin-bar.has-sticky-header .site-header { top: 32px; }
  body.admin-bar .site-header--concept { top: 32px; }
}

@media (max-width: 782px) {
  body.admin-bar.has-sticky-header .site-header { top: 46px; }
  body.admin-bar .site-header--concept { top: 46px; }
}

@media print {
  .topbar, .site-header, .footer-cta, .site-footer, .menu-toggle { display: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
  a { color: #000; }
}
