/* =====================================================================
   قوالب كتل الصفحة الرئيسية وخيارات تصميمها (من المحرر المرئي في اللوحة)
   كل كتلة داخل .blk تحمل: v-<القالب>  bg-<الخلفية>  pad-  w-  al-  ts-  an-  hide-m/hide-d
   ===================================================================== */
.blk { position: relative; }
.slider + .blk--marquee .marquee { margin-top: -1.4rem; }

/* ---------- الخلفيات */
.blk.has-bg > section, .blk.has-bg > .section, .blk.has-bg > div > .section { background: transparent !important; }
.blk.bg-white { background: var(--white); }
.blk.bg-tint { background: var(--tint); }
.blk.bg-accent { background: color-mix(in srgb, var(--accent) 22%, var(--paper)); }
.blk.bg-brand { background: radial-gradient(circle at 85% 0, color-mix(in srgb, var(--brand-2) 55%, transparent), transparent 50%), linear-gradient(140deg, var(--brand), var(--deep)); }
.blk.bg-dark { background: radial-gradient(circle at 10% 100%, color-mix(in srgb, var(--brand) 35%, transparent), transparent 50%), #062a32; }
.blk.bg-gradient { background: linear-gradient(120deg, var(--deep), var(--brand), color-mix(in srgb, var(--brand-2) 80%, var(--deep)), var(--deep)); background-size: 300% 300%; animation: blk-grad 18s ease infinite; }
@keyframes blk-grad { 50% { background-position: 100% 50%; } }
.blk.bg-image { background: var(--blk-img) center / cover no-repeat, var(--deep); isolation: isolate; }
.blk.bg-image::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(4, 30, 37, .62); }
.blk.bg-image.ov-light::before { background: rgba(4, 30, 37, .38); }
.blk.bg-image.ov-strong::before { background: rgba(4, 30, 37, .82); }
/* النص فوق الخلفيات الداكنة — البطاقات البيضاء تحتفظ بألوانها */
.blk.is-dark { color: #fff; }
.blk.is-dark .section-head h2, .blk.is-dark .section-head p, .blk.is-dark .section-head .kicker, .blk.is-dark .link-arrow,
.blk.is-dark .video-title, .blk.is-dark .video-text, .blk.is-dark .eyebrow, .blk.is-dark .points li, .blk.is-dark .blk-ti-text h2, .blk.is-dark .blk-ti-text .prose,
.blk.is-dark .bars, .blk.is-dark .bar-name, .blk.is-dark .bar-num, .blk.is-dark .impact-total-num, .blk.is-dark .blk-steps-list h3, .blk.is-dark .blk-steps-list p,
.blk.is-dark .blk-rich .prose, .blk.is-dark .blk-rich h2, .blk.is-dark .testi blockquote, .blk.is-dark .testi figcaption { color: #fff; }
.blk.is-dark .section-head p, .blk.is-dark .video-text, .blk.is-dark .blk-steps-list p { opacity: .85; }
.blk.is-dark .btn-ink { --bg: #fff; --fg: var(--ink); }
.blk.is-dark .card, .blk.is-dark .sector a, .blk.is-dark .faq-item, .blk.is-dark .blk-feat-grid li, .blk.is-dark .report-list > *, .blk.is-dark .contact-card, .blk.is-dark .mc-item { color: var(--ink); }

/* ---------- المسافات والعرض والمحاذاة وحجم العنوان */
.blk.pad-none > .section, .blk.pad-none > section { padding-block: 0; }
.blk.pad-compact > .section, .blk.pad-compact > section { padding-block: clamp(2rem, 4vw, 3rem); }
.blk.pad-large > .section, .blk.pad-large > section { padding-block: clamp(6rem, 11vw, 9rem); }
.blk.pad-xl > .section, .blk.pad-xl > section { padding-block: clamp(8rem, 15vw, 13rem); }
.blk.w-narrow .wrap { max-width: 900px; }
.blk.w-wide .wrap { max-width: 1480px; }
.blk.w-full .wrap { max-width: none; }
.blk.al-center .section-head { text-align: center; margin-inline: auto; }
.blk.al-center .section-head--row { flex-direction: column; align-items: center; }
.blk.al-start .section-head, .blk.al-start .section-head--center { text-align: start; margin-inline: 0; }
.blk.ts-sm .section-head h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.blk.ts-lg .section-head h2 { font-size: clamp(2.3rem, 5vw, 3.8rem); }
.blk.ts-xl .section-head h2 { font-size: clamp(2.8rem, 7vw, 5.2rem); letter-spacing: -.02em; }

/* ---------- حركات الظهور */
.js .blk.an-zoom .reveal { transform: scale(.9); }
.js .blk.an-slide .reveal { transform: translateX(-70px); }
html[dir="rtl"].js .blk.an-slide .reveal { transform: translateX(70px); }
.js .blk.an-blur .reveal { transform: none; filter: blur(14px); transition: opacity 1s var(--ease-out), filter 1.1s var(--ease-out); }
.js .blk.an-flip .reveal { transform: perspective(900px) rotateX(28deg) translateY(30px); transform-origin: top center; }
.js .blk[class*="an-"] .reveal.is-in { transform: none; filter: none; }
.js .blk.an-none .reveal { opacity: 1; transform: none; filter: none; transition: none; }

@media (max-width: 760px) { .blk.hide-m { display: none; } }
@media (min-width: 761px) { .blk.hide-d { display: none; } }

/* ===================================================================== القوالب */

/* شريط القطاعات */
.v-tilted .marquee { transform: rotate(-2.2deg) scale(1.03); margin-block: 2.2rem; background: var(--accent); color: var(--ink); }
.v-tilted .marquee .ico { color: var(--deep); }
.v-outline .marquee { background: none; border-block: 1px solid var(--line); }
.v-outline .marquee-track span { font: 800 clamp(2rem, 5vw, 3.6rem) var(--font-display); color: transparent; -webkit-text-stroke: 1.5px var(--brand); }
.v-outline .marquee-track .ico { width: .6em; height: .6em; color: var(--accent); }
.v-pills .marquee { background: none; }
.v-pills .marquee-track span { padding: .6rem 1.2rem; border-radius: 99px; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--ink); }
.v-pills .marquee-track span .ico { color: var(--brand); }

/* الفيديو التعريفي */
.v-reverse .video-grid > :first-child { order: 2; }
.v-stacked .video-grid { grid-template-columns: 1fr; text-align: center; }
.v-stacked .video-copy { max-width: 46rem; margin-inline: auto; }
.v-stacked .points { justify-content: center; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; }
.v-stacked .eyebrow { justify-content: center; }
.v-stacked .video-media { max-width: 1100px; width: 100%; margin-inline: auto; }
.v-card .video-about { padding-block: clamp(2rem, 5vw, 4rem); }
.v-card .video-grid { padding: clamp(1.6rem, 5vw, 4rem); border-radius: calc(var(--radius) * 1.6); background: radial-gradient(circle at 0 0, color-mix(in srgb, var(--brand-2) 40%, transparent), transparent 50%), linear-gradient(140deg, #062a32, var(--deep)); color: #fff; box-shadow: var(--shadow-lg); }
.v-card .video-title, .v-card .video-text, .v-card .points li, .v-card .eyebrow { color: #fff; }
.v-card .btn-ink { --bg: var(--accent); --fg: var(--ink); }

/* أرقام الأثر */
.v-cards .impact-grid { grid-template-columns: 1fr; }
.v-cards .impact-total { max-width: 260px; margin-inline: auto; }
.v-cards .bars { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.v-cards .bars li { grid-template-columns: 1fr; padding: 1.4rem; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--ink); }
.v-cards .bar-num { order: -1; font: 800 2.2rem/1.1 var(--font-display); color: var(--brand); }
.v-inline .impact-grid { grid-template-columns: 1fr; gap: 2.4rem; }
.v-inline .impact-total { display: none; }
.v-inline .bars { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; }
.v-inline .bars li { display: grid; grid-template-columns: 1fr; text-align: center; padding: .6rem clamp(1rem, 3vw, 2.4rem); border-inline-start: 1px solid var(--line); }
.v-inline .bars li:first-child { border: 0; }
.v-inline .bar-num { order: -1; font: 800 clamp(2.4rem, 5vw, 3.6rem)/1.1 var(--font-display); color: var(--brand); }
.v-inline .bar-track { display: none; }
.blk.is-dark.v-inline .bar-num { color: var(--accent); }

/* مجالات العمل */
.v-tiles .sector-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.v-tiles .sector a { color: #fff; background: linear-gradient(150deg, var(--brand), var(--deep)); border: 0; min-height: 230px; justify-content: flex-end; }
.v-tiles .sector:nth-child(3n+2) a { background: linear-gradient(150deg, color-mix(in srgb, var(--brand-2) 85%, var(--deep)), var(--deep)); }
.v-tiles .sector:nth-child(3n+3) a { background: linear-gradient(150deg, color-mix(in srgb, var(--accent) 70%, var(--brand)), var(--deep)); }
.v-tiles .sector a p { color: rgba(255, 255, 255, .82); }
.v-tiles .sector-icon { position: absolute; top: 1.4rem; inset-inline-start: 1.4rem; background: rgba(255, 255, 255, .14); color: #fff; }
.v-tiles .sector-arrow { color: var(--accent); }
.v-list .sector-grid { grid-template-columns: repeat(auto-fill, minmax(min(420px, 100%), 1fr)); gap: .7rem; }
.v-list .sector a { flex-direction: row; align-items: center; gap: 1rem; padding: 1rem 1.2rem; }
.v-list .sector a h3 { margin: 0; font-size: 1.1rem; flex: 1; }
.v-list .sector a p { display: none; }
.v-list .sector-icon { margin: 0; flex: none; }
.v-pills .sector-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.v-pills .sector a { flex-direction: row; align-items: center; gap: .55rem; padding: .7rem 1.2rem; border-radius: 99px; }
.v-pills .sector a h3 { margin: 0; font-size: 1rem; }
.v-pills .sector a p, .v-pills .sector-arrow { display: none; }
.v-pills .sector-icon { width: 34px; height: 34px; margin: 0; }
.v-pills .sector-icon .ico { width: 18px; height: 18px; }

/* أبرز المشاريع */
.v-grid .carousel, .v-spotlight .carousel, .v-rows .carousel { overflow: visible; }
.v-grid .car-arrows, .v-spotlight .car-arrows, .v-rows .car-arrows { display: none; }
.v-grid .car-track, .v-spotlight .car-track, .v-rows .car-track { display: grid; width: auto; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); transform: none !important; gap: 1.4rem; }
.v-grid .car-track { grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); }
.v-grid .car-item, .v-spotlight .car-item, .v-rows .car-item { width: auto; }
.v-spotlight .car-track { grid-template-columns: 1.4fr 1fr 1fr; }
.v-spotlight .car-item:first-child { grid-row: span 2; }
.v-spotlight .car-item:first-child .card { height: 100%; }
.v-spotlight .car-item:first-child .card-cover { aspect-ratio: auto; flex: 1; min-height: 340px; }
.v-spotlight .car-item:first-child h3 { font-size: 1.6rem; }
.v-spotlight .car-item:nth-child(n+6) { display: none; }
.v-spotlight .car-item:not(:first-child) .card p { display: none; }
.v-rows .car-track { grid-template-columns: repeat(auto-fill, minmax(min(560px, 100%), 1fr)); }
.v-rows .card { flex-direction: row; }
.v-rows .card .card-cover { flex: 0 0 40%; aspect-ratio: auto; }
.v-rows .card p { -webkit-line-clamp: 2; }
@media (max-width: 900px) { .v-spotlight .car-track { grid-template-columns: 1fr; } .v-spotlight .car-item:first-child { grid-row: auto; } }
@media (max-width: 600px) { .v-rows .card { flex-direction: column; } .v-rows .card .card-cover { aspect-ratio: 16 / 10; } }

/* شريط معرض الصور */
.v-grid .strip-stage, .v-mosaic .strip-stage { transform: none; display: grid; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.v-grid .strip-row, .v-mosaic .strip-row { overflow: visible; -webkit-mask-image: none; mask-image: none; padding: 0; }
.v-grid .strip-track, .v-mosaic .strip-track { animation: none; width: auto; display: grid; gap: 1rem; }
.v-grid .strip-track { grid-template-columns: repeat(auto-fill, minmax(min(230px, 45%), 1fr)); }
.v-grid .strip-item, .v-grid .strip-row.is-rev .strip-item { width: auto; aspect-ratio: 4 / 3; transform: none; }
.v-grid .strip-track > [aria-hidden="true"], .v-mosaic .strip-track > [aria-hidden="true"], .v-grid .strip-row.is-rev, .v-mosaic .strip-row.is-rev { display: none; }
.v-mosaic .strip-track { grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(120px, 15vw, 200px); grid-auto-flow: dense; }
.v-mosaic .strip-item, .v-mosaic .strip-row.is-rev .strip-item { width: auto; height: 100%; aspect-ratio: auto; transform: none; }
.v-mosaic .strip-item:nth-child(5n+1) { grid-column: span 2; grid-row: span 2; }
.v-mosaic .strip-item:nth-child(5n+4) { grid-row: span 2; }
.v-grid .strip-cap, .v-mosaic .strip-cap { transform: none; }
@media (max-width: 700px) { .v-mosaic .strip-track { grid-template-columns: repeat(2, 1fr); } }

/* الأخبار والمدونة */
.blk--news.v-grid .news-grid .is-big { grid-column: auto; flex-direction: column; }
.blk--news.v-grid .news-grid .is-big .card-cover { aspect-ratio: 16 / 10; min-height: 0; flex: none; }
.blk--news.v-grid .news-grid .is-big .card-body { padding: 1.4rem; }
.blk--news.v-grid .news-grid .is-big h3 { font-size: 1.2rem; }
.blk--blog.v-magazine .card-grid > :first-child { grid-column: span 2; flex-direction: row; }
.blk--blog.v-magazine .card-grid > :first-child .card-cover { flex: 1.1 1 0; aspect-ratio: auto; }
.blk--blog.v-magazine .card-grid > :first-child .card-body { flex: 1 1 0; justify-content: center; padding: 2rem; }
.blk.v-list .card-grid { grid-template-columns: 1fr; gap: 1rem; }
.blk.v-list .card-grid .card, .blk.v-list .news-grid .is-big { grid-column: auto; flex-direction: row; }
.blk.v-list .card-grid .card-cover, .blk.v-list .news-grid .is-big .card-cover { flex: 0 0 min(34%, 320px); aspect-ratio: 16 / 10; min-height: 0; }
.blk.v-list .card-grid .card-body { padding: 1.3rem 1.5rem; }
.blk.v-list .news-grid .is-big h3 { font-size: 1.25rem; }
.blk.v-compact .card-grid { grid-template-columns: 1fr; gap: 0; border-block: 1px solid var(--line); }
.blk.v-compact .card-grid .card { flex-direction: row; background: none; box-shadow: none; border: 0; border-radius: 0; border-bottom: 1px solid var(--line); }
.blk.v-compact .card-grid .card:last-child { border-bottom: 0; }
.blk.v-compact .card-grid .card-cover, .blk.v-compact .card-grid .card p, .blk.v-compact .card-more { display: none; }
.blk.v-compact .card-grid .card-body { flex-direction: row; align-items: center; gap: 1.2rem; padding: 1.1rem .3rem; }
.blk.v-compact .card-grid .card-meta { order: 2; margin: 0; flex: none; }
.blk.v-compact .card-grid h3 { margin: 0; flex: 1; font-size: 1.15rem; }
.blk.v-compact .card-grid .card:hover h3 { color: var(--brand); }
.blk.v-compact .news-grid .is-big { grid-column: auto; }
@media (max-width: 700px) {
  .blk.v-list .card-grid .card, .blk--blog.v-magazine .card-grid > :first-child { flex-direction: column; grid-column: auto; }
  .blk.v-list .card-grid .card-cover { flex: none; width: 100%; }
  .blk.v-compact .card-grid .card-body { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .blk.v-compact .card-grid .card-meta { order: 0; }
}

/* التقارير */
.blk--reports.v-cards .reports-home-grid { grid-template-columns: 1fr; }
.blk--reports.v-cards .report-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 1rem; }

/* الشركاء */
.blk--partners.v-grid .logo-marquee { -webkit-mask-image: none; mask-image: none; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.blk--partners.v-grid .logo-track { animation: none; width: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.blk--partners.v-grid .partner[aria-hidden="true"] { display: none; }
.blk--partners.v-grid .partner { min-width: 0; }
.blk--partners.v-color .partner { height: 130px; min-width: 240px; box-shadow: var(--shadow); border: 0; }
.blk--partners.v-color .partner img { filter: none; opacity: 1; max-height: 80px; max-width: 190px; }

/* نص مع صورة */
.v-overlap .blk-ti-grid { grid-template-columns: 1fr 1fr; gap: 0; align-items: center; }
.v-overlap .blk-ti-text { position: relative; z-index: 2; padding: clamp(1.6rem, 4vw, 3rem); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-lg); margin-inline-end: -14%; color: var(--ink); }
.v-overlap .blk-ti-grid.is-start .blk-ti-text { margin-inline: -14% 0; }
.v-overlap .blk-ti-media img { min-height: 460px; object-fit: cover; }
.v-framed .blk-ti-media { padding: 0 1.4rem 1.4rem 0; }
html[dir="rtl"] .v-framed .blk-ti-media { padding: 0 0 1.4rem 1.4rem; }
.v-framed .blk-ti-media::before { content: ""; position: absolute; inset: 1.4rem 0 0 1.4rem; border-radius: var(--radius); background: linear-gradient(140deg, var(--accent), var(--brand-2)); z-index: -1; }
html[dir="rtl"] .v-framed .blk-ti-media::before { inset: 1.4rem 1.4rem 0 0; }
.v-framed .blk-ti-media { position: relative; isolation: isolate; }
.v-framed .blk-ti-deco { display: none; }
.v-fullbleed .blk-ti { padding-block: 0; }
.v-fullbleed .blk-ti-grid { max-width: none; padding: 0; gap: 0; grid-template-columns: 1fr 1fr; min-height: 560px; }
.v-fullbleed .blk-ti-text { padding: clamp(2.5rem, 7vw, 6rem); align-self: center; max-width: 640px; justify-self: center; }
.v-fullbleed .blk-ti-media { height: 100%; }
.v-fullbleed .blk-ti-media img { height: 100%; width: 100%; object-fit: cover; border-radius: 0; min-height: 420px; }
.v-fullbleed .blk-ti-deco { display: none; }
@media (max-width: 860px) {
  .v-overlap .blk-ti-grid, .v-fullbleed .blk-ti-grid { grid-template-columns: 1fr; }
  .v-overlap .blk-ti-text, .v-overlap .blk-ti-grid.is-start .blk-ti-text { margin: -3rem 1rem 0; order: 2; }
  .v-overlap .blk-ti-media img { min-height: 280px; }
}

/* الدعوة لاتخاذ إجراء */
.blk--cta.v-card { padding: clamp(2rem, 5vw, 4rem) var(--gutter); }
.blk--cta.v-card .blk-cta { max-width: var(--wrap); margin-inline: auto; border-radius: calc(var(--radius) * 1.5); overflow: hidden; box-shadow: var(--shadow-lg); }
.blk--cta.v-centered .blk-cta-inner { flex-direction: column; text-align: center; align-items: center; }
.blk--cta.v-centered .blk-cta h2 { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.blk--cta.v-centered .blk-cta-actions { justify-content: center; }
.blk--cta.v-minimal .blk-cta { background: none !important; color: var(--ink); border-block: 1px solid var(--line); }
.blk--cta.v-minimal .blk-cta-bg { display: none; }
.blk--cta.v-minimal .blk-cta h2, .blk--cta.v-minimal .blk-cta p { color: var(--ink); }
.blk--cta.v-minimal .blk-cta .btn-glass { --fg: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line); }

/* العدادات */
.v-inline .blk-counters-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; }
.v-inline .blk-counters-grid .mc-item { background: none; box-shadow: none; border: 0; border-inline-start: 1px solid var(--line); border-radius: 0; padding: .6rem clamp(1.2rem, 3.5vw, 3rem); color: inherit; }
.v-inline .blk-counters-grid .mc-item:first-child { border: 0; }
.v-inline .blk-counters-grid .mc-item b { font-size: clamp(2.4rem, 5.5vw, 4rem); }
.v-inline .blk-counters-grid .mc-item > .ico { display: none; }
.blk.is-dark.v-inline .mc-item, .blk.is-dark.v-inline .mc-item b { color: #fff; }
.v-circles .blk-counters-grid .mc-item { aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; justify-items: center; text-align: center; background: radial-gradient(circle at 30% 20%, var(--white), color-mix(in srgb, var(--accent) 22%, var(--white))); border: 2px solid color-mix(in srgb, var(--accent) 50%, transparent); max-width: 240px; margin-inline: auto; width: 100%; }

/* المميزات */
.v-icons .blk-feat-grid li { background: none; border: 0; box-shadow: none; text-align: center; }
.v-icons .blk-feat-grid li > a, .v-icons .blk-feat-grid li { align-items: center; }
.v-icons .blk-feat-grid .sector-icon { width: 76px; height: 76px; margin-inline: auto; border-radius: 50%; background: linear-gradient(135deg, var(--brand), var(--brand-2)); color: #fff; box-shadow: 0 16px 30px -14px var(--brand); }
.v-icons .blk-feat-grid .sector-icon .ico { width: 34px; height: 34px; }
.blk.is-dark.v-icons .blk-feat-grid li { color: #fff; }
.v-list .blk-feat-grid { grid-template-columns: repeat(auto-fill, minmax(min(420px, 100%), 1fr)); }
.v-list .blk-feat-grid li, .v-list .blk-feat-grid li > a { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: start; }
.v-list .blk-feat-grid .sector-icon { grid-row: span 2; margin: 0; }
.v-list .blk-feat-grid h3 { margin: 0 0 .3rem; }
.v-numbered .blk-feat-grid { counter-reset: feat; }
.v-numbered .blk-feat-grid li { counter-increment: feat; position: relative; padding-top: 4.4rem; }
.v-numbered .blk-feat-grid li::before { content: counter(feat, decimal-leading-zero); position: absolute; top: 1rem; inset-inline-start: 1.4rem; font: 800 3.2rem/1 var(--font-display); color: transparent; -webkit-text-stroke: 1.5px var(--brand); }
.v-numbered .blk-feat-grid .sector-icon { position: absolute; top: 1.3rem; inset-inline-end: 1.3rem; width: 44px; height: 44px; }

/* الشهادات */
.v-grid .testi-track { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 1.2rem; transform: none !important; }
.v-grid .testi-item { opacity: 1 !important; visibility: visible !important; position: static !important; transform: none !important; padding: 1.6rem; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--ink); }
.v-grid .testi-item blockquote { font-size: 1.05rem; }
.v-grid .testi-dots { display: none; }
.blk--testimonials.v-big .blk-testi { background: linear-gradient(140deg, var(--brand), var(--deep)); color: #fff; }
.blk--testimonials.v-big .testi blockquote { font-size: clamp(1.5rem, 3.4vw, 2.5rem); line-height: 1.6; color: #fff; }
.blk--testimonials.v-big .testi figcaption, .blk--testimonials.v-big .section-head h2 { color: #fff; }
.blk--testimonials.v-big .testi-q { color: var(--accent); width: 70px; height: 70px; }

/* الخطوات */
.v-cards .blk-steps-list li { padding: 1.6rem 1.3rem; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--ink); }
.v-cards .blk-steps-list li::before, .v-cards .blk-steps-list li::after { display: none; }
.v-vertical .blk-steps-list { display: grid; grid-template-columns: 1fr; max-width: 760px; margin-inline: auto; gap: 0; }
.v-vertical .blk-steps-list li { display: grid; grid-template-columns: auto 1fr; column-gap: 1.3rem; text-align: start; padding-bottom: 2rem; position: relative; }
.v-vertical .blk-steps-list li::after { content: ""; position: absolute; top: 56px; bottom: 4px; inset-inline-start: 25px; width: 2px; height: auto; background: repeating-linear-gradient(180deg, var(--brand) 0 8px, transparent 8px 14px); opacity: .45; inset-inline-end: auto; }
.v-vertical .blk-steps-list li:last-child::after { display: none; }
.v-vertical .blk-steps-list li::before { display: none; }
.v-vertical .bs-num { grid-row: span 2; margin: 0; }
.v-vertical .blk-steps-list h3 { margin: .6rem 0 .3rem; }

/* الأسئلة */
.blk--faq.v-twocol .wrap--narrow { max-width: var(--wrap); }
.blk--faq.v-twocol .faq { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(440px, 100%), 1fr)); gap: .8rem 1.2rem; align-items: start; }
.blk--faq.v-cards .wrap--narrow { max-width: var(--wrap); }
.blk--faq.v-cards .faq { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr)); gap: 1rem; }
.blk--faq.v-cards .faq-item { pointer-events: none; }
.blk--faq.v-cards .faq-item > summary .faq-toggle { display: none; }
.blk--faq.v-cards .faq-item:not([open]) > .faq-a { display: block; }

/* فيديو بعرض كامل */
.blk--video_banner.v-card { padding: clamp(2rem, 5vw, 4rem) var(--gutter); }
.blk--video_banner.v-card .blk-vban { max-width: var(--wrap); margin-inline: auto; border-radius: calc(var(--radius) * 1.5); overflow: hidden; box-shadow: var(--shadow-lg); }

/* شريط التواصل */
.blk--contact.v-bar .blk-contact-grid { gap: 0; border-radius: var(--radius); overflow: hidden; background: var(--deep); box-shadow: var(--shadow-lg); }
.blk--contact.v-bar .contact-card { background: none; border: 0; border-inline-start: 1px solid rgba(255, 255, 255, .12); border-radius: 0; color: #fff; box-shadow: none; }
.blk--contact.v-bar .contact-card:first-child { border: 0; }
.blk--contact.v-bar .contact-card .cc-label { color: rgba(255, 255, 255, .7); }
.blk--contact.v-bar .cc-icon { background: rgba(255, 255, 255, .12); color: var(--accent); }
.blk--contact.v-big .contact-card { flex-direction: column; align-items: center; text-align: center; padding: 2rem 1.2rem; }
.blk--contact.v-big .cc-icon { width: 72px; height: 72px; border-radius: 22px; background: linear-gradient(135deg, var(--brand), var(--brand-2)); color: #fff; }

/* نص حر */
.blk--richtext.v-card .blk-rich .wrap > * { position: relative; }
.blk--richtext.v-card .blk-rich .prose { padding: clamp(1.6rem, 4vw, 3rem); border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--ink); }

/* كتلة فارغة (تظهر في المحرر المرئي فقط) */
.blk-empty { display: grid; gap: .3rem; place-items: center; text-align: center; padding: 2.5rem 1rem; margin: 1rem var(--gutter); border: 2px dashed var(--line); border-radius: var(--radius); color: var(--ink-soft); }
.blk-off-note { position: absolute; top: .6rem; inset-inline-end: .6rem; z-index: 5; padding: .25rem .7rem; border-radius: 99px; background: #f4ecd9; color: #7a5a1a; font: 700 .78rem system-ui, sans-serif; }

/* تثبيت ألوان المربعات الملوّنة فوق أي خلفية */
.blk.v-tiles .sector a, .blk.v-tiles .sector a h3 { color: #fff; }
.blk.v-tiles .sector a p { color: rgba(255, 255, 255, .82); }
.v-outline .marquee, .v-pills .marquee, html[dir="ltr"] .v-outline .marquee, html[dir="ltr"] .v-pills .marquee { transform: none; }
.v-outline .marquee { padding-block: 1.6rem; overflow: hidden; }
.v-outline .marquee-track span { line-height: 1.6; }
.blk.v-cards .bars li, .blk.v-cards .bars .bar-name { color: var(--ink); }
.blk.v-cards .bars .bar-num { color: var(--brand); }
.blk--partners.v-grid .logo-track { grid-template-columns: repeat(auto-fit, minmax(170px, 220px)); justify-content: center; }

/* =====================================================================
   إصلاحات + قوالب إضافية (الدفعة الثانية)
   ===================================================================== */

/* منع أي تمدد أفقي للصفحة (العناصر المائلة كانت تُظهر فراغاً أبيض على الجوال) */
html, body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }

/* السلايدر المنقسم: الظل داخل حدود الصورة المائلة نفسها */
.slider--split .slide-shade, html[dir="ltr"] .slider--split .slide-shade { display: none; }
.slider--split .slide-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4, 30, 37, .4), transparent 45%); pointer-events: none; }
.slider--split .slide { filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .25)); }
.slider--split .slide-content { filter: none; }

/* الفيديو المعكوس: الزخارف تنعكس مع الصورة ولا تغطي النص */
.v-reverse .video-copy { position: relative; z-index: 2; }
.v-reverse .video-media { padding-inline-end: 0; padding-inline-start: 2rem; }
.v-reverse .vm-block { inset-inline-start: -50vw; inset-inline-end: 22%; }
.js .v-reverse .video-media.reveal .vm-block { --o: right; }
html[dir="ltr"] .js .v-reverse .video-media.reveal .vm-block { --o: left; }
.v-reverse .vm-dots { inset-inline-start: auto; inset-inline-end: -30px; }
.v-reverse .video-stat { inset-inline-start: auto; inset-inline-end: -1rem; }
@media (max-width: 900px) { .v-reverse .video-grid > :first-child { order: 0; } .v-reverse .video-media { padding-inline-start: 1rem; } }

/* أرقام الأثر بالبطاقات: الإجمالي في بطاقة عريضة بدل الحلقة الصغيرة */
.v-cards .impact-total { aspect-ratio: auto; max-width: none; justify-self: stretch; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: var(--radius); background: color-mix(in srgb, currentColor 7%, transparent); border: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
.v-cards .impact-total .ring { display: none; }
.v-cards .impact-total-num { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .3rem 1rem; }
.v-cards .impact-total .num { font-size: clamp(2.6rem, 6vw, 4.4rem); color: var(--accent); }
.v-cards .bars li .bar-track { margin-top: .6rem; }

/* المربعات الملوّنة: الأيقونة فوق العنوان دون تداخل */
.blk.v-tiles .sector a { justify-content: flex-start; padding-top: 1.6rem; }
.blk.v-tiles .sector-icon { position: static; margin-bottom: 1.4rem; }
.blk.v-tiles .sector a h3 { margin-top: 0; }
.blk.v-tiles .sector-arrow { margin-top: auto; }

/* ---------------------------------------------------------------- قوالب جديدة */

/* بطاقات بصورة كاملة والنص فوقها (المشاريع، الأخبار، المدونة) */
.blk.v-overlay .card { min-height: 380px; justify-content: flex-end; border: 0; color: #fff; isolation: isolate; }
.blk.v-overlay .card-cover { position: absolute; inset: 0; aspect-ratio: auto; z-index: -1; }
.blk.v-overlay .card-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4, 26, 32, .95) 12%, rgba(4, 26, 32, .55) 45%, rgba(4, 26, 32, .05) 75%); }
.blk.v-overlay .card-body { flex: none; padding-top: 5rem; }
.blk.v-overlay .card h3, .blk.v-overlay .card .card-more { color: #fff; }
.blk.v-overlay .card p, .blk.v-overlay .card-meta, .blk.v-overlay .card-foot { color: rgba(255, 255, 255, .8); }
.blk.v-overlay .card p { -webkit-line-clamp: 2; }
.blk.v-overlay .card:hover .card-cover img { transform: scale(1.08); }
.blk--news.v-overlay .news-grid .is-big { grid-column: span 2; min-height: 460px; flex-direction: column; }
.blk--news.v-overlay .news-grid .is-big .card-cover { flex: none; min-height: 0; }
.blk--news.v-overlay .news-grid .is-big .card-body { flex: none; justify-content: flex-end; }
.blk--projects.v-overlay .carousel { overflow: visible; }
.blk--projects.v-overlay .car-arrows { display: none; }
.blk--projects.v-overlay .car-track { display: grid; width: auto; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); transform: none !important; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); }
.blk--projects.v-overlay .car-item { width: auto; }
.blk--projects.v-overlay .car-item:nth-child(n+7) { display: none; }
@media (max-width: 900px) { .blk--news.v-overlay .news-grid .is-big { grid-column: auto; min-height: 380px; } }

/* القطاعات في دوائر */
.v-circles .sector-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1.6rem 1rem; }
.v-circles .sector a { align-items: center; text-align: center; background: none; border: 0; box-shadow: none; padding: .4rem; }
.v-circles .sector a::before { display: none; }
.v-circles .sector a:hover { transform: translateY(-4px); box-shadow: none; color: var(--brand); }
.v-circles .sector-icon { width: 104px; height: 104px; border-radius: 50%; margin: 0 auto 1rem; background: linear-gradient(140deg, var(--brand), var(--brand-2)); color: #fff; box-shadow: 0 0 0 8px color-mix(in srgb, var(--brand) 10%, transparent), 0 18px 30px -16px var(--brand); }
.v-circles .sector-icon .ico { width: 42px; height: 42px; }
.v-circles .sector a:hover .sector-icon { background: var(--accent); color: var(--ink); transform: scale(1.06); }
.v-circles .sector a p, .v-circles .sector-arrow { display: none; }
.v-circles .sector h3 { font-size: 1.05rem; }
.blk.is-dark.v-circles .sector a { color: #fff; }

/* أرقام الأثر في عمودين بأشرطة عريضة */
.v-columns .impact-grid { grid-template-columns: 1fr; }
.v-columns .impact-total { display: none; }
.v-columns .bars { grid-template-columns: repeat(auto-fill, minmax(min(380px, 100%), 1fr)); gap: 1.4rem 3rem; }
.v-columns .bar-track { height: 14px; }

/* الفيديو السينمائي: صورة عريضة والنص في بطاقة زجاجية فوقها */
.v-cinema .video-grid { grid-template-columns: 1fr; gap: 0; position: relative; }
.v-cinema .video-media { grid-area: 1 / 1; padding: 0; }
.v-cinema .vm-block, .v-cinema .vm-dots, .v-cinema .video-stat { display: none; }
.v-cinema .video-frame { aspect-ratio: 21 / 9; border-radius: calc(var(--radius) * 1.4); }
.v-cinema .video-copy { grid-area: 1 / 1; z-index: 2; align-self: end; justify-self: start; max-width: 480px; margin: clamp(1rem, 3vw, 2.2rem); padding: clamp(1.2rem, 2.5vw, 1.8rem); border-radius: var(--radius); background: rgba(4, 26, 32, .78); backdrop-filter: blur(12px); color: #fff; }
.v-cinema .video-copy .video-title { font-size: clamp(1.4rem, 2.6vw, 2rem); }
.v-cinema .video-copy .points, .v-cinema .video-copy .video-text { display: none; }
.v-cinema .video-title, .v-cinema .eyebrow { color: #fff; }
.v-cinema .btn-ink { --bg: var(--accent); --fg: var(--ink); }
@media (max-width: 900px) {
  .v-cinema .video-media, .v-cinema .video-copy { grid-area: auto; }
  .v-cinema .video-frame { aspect-ratio: 16 / 10; }
  .v-cinema .video-copy { margin: -2.5rem 1rem 0; max-width: none; justify-self: stretch; }
}

/* معرض الصور بإطارات بولارويد */
.v-polaroid .strip-stage { transform: none; display: grid; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.v-polaroid .strip-row { overflow: visible; -webkit-mask-image: none; mask-image: none; padding: 0; }
.v-polaroid .strip-row.is-rev, .v-polaroid .strip-track > [aria-hidden="true"] { display: none; }
.v-polaroid .strip-track { animation: none; width: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 44%), 1fr)); gap: 1.6rem 1.2rem; padding-block: 1rem; }
.v-polaroid .strip-item { width: auto; aspect-ratio: auto; padding: .6rem .6rem 2.6rem; border-radius: 4px; background: #fff; box-shadow: 0 14px 30px -16px rgba(4, 30, 37, .5); transform: rotate(calc(var(--r) * 1deg)); overflow: visible; }
.v-polaroid .strip-item img { aspect-ratio: 1; height: auto; border-radius: 2px; }
.v-polaroid .strip-cap { transform: none; background: none; color: var(--ink); padding: .5rem .2rem 0; font-size: .85rem; bottom: .3rem; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* الشركاء بدون إطارات */
.blk--partners.v-plain .logo-marquee { -webkit-mask-image: none; mask-image: none; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.blk--partners.v-plain .logo-track { animation: none; width: auto; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 3rem; }
.blk--partners.v-plain .partner[aria-hidden="true"] { display: none; }
.blk--partners.v-plain .partner { background: none; border: 0; min-width: 0; height: 90px; padding: 0; }
.blk--partners.v-plain .partner:hover { box-shadow: none; }

/* العدادات في شريط ملوّن */
.blk--counters.v-band .blk-counters { padding-block: clamp(3rem, 6vw, 4.5rem); background: radial-gradient(circle at 90% 0, color-mix(in srgb, var(--accent) 40%, transparent), transparent 45%), linear-gradient(120deg, var(--deep), var(--brand)); color: #fff; }
.blk--counters.v-band .section-head h2, .blk--counters.v-band .section-head p { color: #fff; }
.blk--counters.v-band .blk-counters-grid .mc-item { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); color: #fff; box-shadow: none; }
.blk--counters.v-band .blk-counters-grid .mc-item b { color: #fff; }
.blk--counters.v-band .blk-counters-grid .mc-item > .ico { color: var(--accent); }
.blk--counters.v-band .blk-counters-grid .mc-item span { color: rgba(255, 255, 255, .8); }

/* بطاقات زجاجية على تدرج (المميزات) */
.blk--features.v-glass .blk-features { background: linear-gradient(135deg, var(--deep), var(--brand) 60%, color-mix(in srgb, var(--brand-2) 70%, var(--brand))); color: #fff; }
.blk--features.v-glass .section-head h2, .blk--features.v-glass .section-head p { color: #fff; }
.blk--features.v-glass .blk-feat-grid li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(10px); color: #fff; box-shadow: none; }
.blk--features.v-glass .blk-feat-grid li p { color: rgba(255, 255, 255, .8); }
.blk--features.v-glass .blk-feat-grid .sector-icon { background: var(--accent); color: var(--ink); }
.blk--features.v-glass .blk-feat-grid a { color: #fff; }

/* الخطوات بأرقام ضخمة مفرّغة */
.v-numbers .blk-steps-list li::before, .v-numbers .blk-steps-list li::after { display: none; }
.v-numbers .bs-num { width: auto; height: auto; background: none; box-shadow: none; border: 0; font: 800 clamp(3.6rem, 7vw, 5.2rem)/1 var(--font-display); color: transparent; -webkit-text-stroke: 2px var(--brand); margin-bottom: .4rem; }
.blk.is-dark.v-numbers .bs-num { -webkit-text-stroke-color: var(--accent); }

/* الأسئلة: العنوان جانبي ثابت والأسئلة بجانبه */
.blk--faq.v-side .wrap--narrow { max-width: var(--wrap); display: grid; grid-template-columns: minmax(240px, .8fr) 1.6fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.blk--faq.v-side .section-head { position: sticky; top: calc(var(--header-h) + 1.5rem); text-align: start; margin: 0; }
.blk--faq.v-side .wrap--narrow > p.center { grid-column: 2; text-align: start; }
@media (max-width: 860px) { .blk--faq.v-side .wrap--narrow { grid-template-columns: 1fr; } .blk--faq.v-side .section-head { position: static; } .blk--faq.v-side .wrap--narrow > p.center { grid-column: auto; } }

/* دعوة بتدرج متحرك وتوهج */
.blk--cta.v-gradient .blk-cta { background: linear-gradient(115deg, var(--deep), var(--brand), color-mix(in srgb, var(--brand-2) 85%, var(--deep)), var(--deep)); background-size: 300% 300%; animation: blk-grad 14s ease infinite; color: #fff; }
.blk--cta.v-gradient .blk-cta-bg { opacity: .18; mix-blend-mode: luminosity; }
.blk--cta.v-gradient .blk-cta::after { content: ""; position: absolute; width: 520px; height: 520px; inset-inline-end: -140px; top: -200px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 55%, transparent), transparent 65%); pointer-events: none; }
.blk--cta.v-gradient .blk-cta { position: relative; overflow: hidden; }
.blk--cta.v-gradient .blk-cta h2, .blk--cta.v-gradient .blk-cta p { color: #fff; }

/* شهادات: اقتباس كبير جانبي */
.blk--testimonials.v-split .testi { display: grid; }
.blk--testimonials.v-split .testi-item { text-align: start; display: grid; grid-template-columns: auto 1fr; column-gap: 1.6rem; align-items: start; padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); color: var(--ink); }
.blk--testimonials.v-split .testi-q { grid-row: span 2; width: 64px; height: 64px; color: var(--accent); margin: 0; }
.blk--testimonials.v-split .testi-item blockquote { font-size: clamp(1.15rem, 2vw, 1.4rem); }
.blk--testimonials.v-split .testi-item figcaption { justify-content: flex-start; }
.blk--testimonials.v-split .testi-dots { justify-content: flex-start; }

/* التقارير كبطاقات: محتوى عمودي مرتب */
.blk--reports.v-cards .report-item a { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; height: 100%; padding: 1.6rem; min-height: 200px; }
.blk--reports.v-cards .report-item a:hover { transform: translateY(-6px); }
.blk--reports.v-cards .report-year { font-size: 2.4rem; }
.blk--reports.v-cards .report-title { flex: 1; }
.blk--reports.v-cards .report-cta { margin-top: auto; }

/* الخطوات: إخفاء الخط الأفقي في القوالب التي لا تحتاجه */
.v-vertical .blk-steps-list::before, .v-numbers .blk-steps-list::before, .v-cards .blk-steps-list::before { display: none; }
.v-vertical .blk-steps-list li { text-align: start; }
.v-numbers .bs-num { box-shadow: none; }

/* عرض المحتوى: .wrap يحدد عرضه بـ width وليس max-width */
.blk.w-narrow .wrap, .blk.w-narrow .wrap--narrow { width: min(900px, 100% - 2 * var(--gutter)); max-width: none; }
.blk.w-wide .wrap, .blk.w-wide .wrap--narrow { width: min(1480px, 100% - 2 * var(--gutter)); max-width: none; }
.blk.w-full .wrap, .blk.w-full .wrap--narrow { width: calc(100% - 2 * var(--gutter)); max-width: none; }
.blk--faq.v-twocol .wrap--narrow, .blk--faq.v-cards .wrap--narrow, .blk--faq.v-side .wrap--narrow { width: min(var(--wrap), 100% - 2 * var(--gutter)); }
.blk--richtext.v-card .wrap--narrow { width: min(900px, 100% - 2 * var(--gutter)); }
@media (max-width: 600px) {
  .v-cards .bars { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .v-cards .bars li { padding: 1rem; }
  .v-cards .bar-num { font-size: 1.6rem; }
  .v-cards .bar-name { font-size: .9rem; }
  .v-circles .sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .blk.v-tiles .sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .blk.v-tiles .sector a { min-height: 165px; padding: 1.1rem; }
  .blk.v-tiles .sector a h3 { font-size: 1rem; }
  .blk.v-tiles .sector a p { display: none; }
  .blk.v-tiles .sector-icon { width: 44px; height: 44px; margin-bottom: .9rem; }
}

/* شريط التواصل الداكن: كل النصوص فاتحة */
.blk--contact.v-bar .contact-card, .blk--contact.v-bar .contact-card span, .blk--contact.v-bar .contact-card .ltr { color: #fff; }
.blk--contact.v-bar .contact-card .cc-label { color: rgba(255, 255, 255, .65); }
@media (max-width: 600px) {
  .blk--contact.v-bar .contact-card { border-inline-start: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
  .blk--contact.v-bar .contact-card:first-child { border-top: 0; }
  .blk--counters .blk-counters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .blk--counters.v-circles .blk-counters-grid .mc-item { max-width: 160px; }
}
