/* Homepage experience — starts at the About section. */
.home .section-intro,
.home .home-about-experience {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(227, 154, 43, .13), transparent 24%),
    linear-gradient(135deg, #f4f8ff 0%, #fff 52%, #f9fbff 100%);
}
.home .section-intro:before,
.home .section-intro:after,
.home .home-about-experience:before,
.home .home-about-experience:after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(23, 63, 143, .09);
  border-radius: 50%;
}
.home .section-intro:before,
.home .home-about-experience:before { width: 440px; height: 440px; inset: -210px auto auto -150px; }
.home .section-intro:after,
.home .home-about-experience:after { width: 240px; height: 240px; inset: auto -90px -130px auto; }
.home .home-about-experience {
  width: min(calc(100% - 40px), 1240px) !important;
  max-width: 1240px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr) !important;
  gap: 26px !important;
  margin: 0 auto !important;
  padding: 78px 0 !important;
}
.home .home-about-experience > div { width: 100% !important; max-width: none !important; min-width: 0; --width: 100% !important; }
.home .home-about-experience > div:first-child {
  align-content: center;
  padding: clamp(30px, 4vw, 50px) !important;
  border-radius: 22px;
  background: linear-gradient(138deg, #0d1948, #173f8f 72%, #245db3);
  box-shadow: 0 24px 65px rgba(13, 34, 82, .18);
}
.home .home-about-experience > div:first-child > .elementor-widget-heading:first-child h2 { color: #ffc45f !important; font-size: 13px !important; font-weight: 800 !important; }
.home .home-about-experience > div:first-child > .elementor-widget-heading:nth-child(2) h2 { color: #fff !important; font-size: clamp(29px, 3vw, 42px) !important; line-height: 1.45 !important; }
.home .home-about-experience .elementor-widget-text-editor,
.home .home-about-experience .elementor-widget-text-editor p { color: rgba(255,255,255,.78) !important; line-height: 2 !important; text-align: right !important; letter-spacing: normal !important; word-spacing: normal !important; }
.home .home-about-experience .elementor-widget-icon-box { padding: 15px !important; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.07); }
.home .home-about-experience .elementor-icon-box-title,
.home .home-about-experience .elementor-icon-box-title span { color: #fff !important; }
.home .home-about-experience .elementor-icon-box-description { color: rgba(255,255,255,.7) !important; }
.home .home-about-experience .elementor-icon { color: #ffc45f !important; fill: #ffc45f !important; }
.home .home-about-experience > div:last-child { position: relative; min-height: 510px; align-self: stretch !important; overflow: hidden; padding: 0 !important; border-radius: 22px; box-shadow: 0 22px 60px rgba(15,40,91,.15); }
.home .home-about-experience > div:last-child > .elementor-widget { position: absolute !important; inset: 0 !important; }
.home .home-about-experience > div:last-child .elementor-widget,
.home .home-about-experience > div:last-child .elementor-widget-container,
.home .home-about-experience > div:last-child .elementor-widget-image,
.home .home-about-experience > div:last-child figure,
.home .home-about-experience > div:last-child a,
.home .home-about-experience > div:last-child img { width: 100% !important; height: 100% !important; }
.home .home-about-experience > div:last-child figure { margin: 0 !important; }
.home .home-about-experience > div:last-child img { display: block; object-fit: cover; object-position: center; }
.home .intro-layout { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 38px; }
.home .intro-layout > div:first-child {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 4vw, 52px);
  border-radius: 22px;
  background: linear-gradient(138deg, #0d1948, #173f8f 72%, #245db3);
  box-shadow: 0 24px 65px rgba(13, 34, 82, .18);
}
.home .intro-layout > div:first-child:after {
  content: "هداية";
  position: absolute;
  inset: auto auto -33px -15px;
  color: rgba(255, 255, 255, .045);
  font-size: 100px;
  font-weight: 900;
  line-height: 1;
  transform: rotate(-8deg);
}
.home .intro-layout .eyebrow { color: #ffc45f; }
.home .intro-layout .section-title { margin: 8px 0 18px; color: #fff; font-size: clamp(27px, 2.7vw, 39px); }
.home .intro-layout .section-lead { color: rgba(255, 255, 255, .78); }
.home .intro-layout .text-link { position: relative; z-index: 1; color: #fff; }
.home .intro-metrics { gap: 16px; align-self: stretch; }
.home .intro-metrics > div {
  position: relative;
  min-height: 164px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 28px;
  border: 1px solid #dde5f1;
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 34px rgba(15, 40, 91, .075);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.home .intro-metrics > div:before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #173f8f, #3d74c7);
}
.home .intro-metrics > div:nth-child(2):before,
.home .intro-metrics > div:nth-child(4):before { background: linear-gradient(90deg, #d99025, #ffc45f); }
.home .intro-metrics > div:hover { transform: translateY(-6px); border-color: #c7d4e8; box-shadow: 0 20px 45px rgba(15, 40, 91, .13); }
.home .intro-metrics strong { font-size: clamp(34px, 3.2vw, 48px); line-height: 1.15; }
.home .intro-metrics span { max-width: 180px; margin-top: 9px; font-size: 13px; line-height: 1.8; }

.home main .section:not(.section-intro) .section-head { position: relative; margin-bottom: 34px; padding-inline-start: 20px; }
.home main .section:not(.section-intro) .section-head:before {
  content: "";
  position: absolute;
  inset: 5px 0 5px auto;
  width: 4px;
  border-radius: 9px;
  background: linear-gradient(#d99a32, #173f8f);
}
.home main .section:not(.section-intro) .section-head .section-title { max-width: 780px; margin-top: 7px; }
.home .programs-showcase,
.home .home-programs { background: linear-gradient(180deg, #f5f8fd, #eef3fa); }
.home .courses-showcase { background: #fff; }
.home .media-card {
  border-radius: 16px !important;
  box-shadow: 0 10px 32px rgba(15, 38, 83, .065);
  transform: translateZ(0);
}
.home .media-card:before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #173f8f, #55a9e8, #d99a32);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .45s cubic-bezier(.2, .75, .25, 1);
}
.home .media-card:hover:before { transform: scaleX(1); }
.home .media-card-thumb:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(8, 25, 65, .3));
  opacity: 0;
  transition: opacity .4s ease;
}
.home .media-card:hover .media-card-thumb:after { opacity: 1; }
.home .media-card .media-link { display: inline-flex; align-items: center; gap: 5px; transition: gap .25s ease, color .25s ease; }
.home .media-card:hover .media-link { gap: 10px; color: #d28a21; }

.home .impact-feature,
.home .home-impact { position: relative; overflow: hidden; background: linear-gradient(118deg, #07183f, #123b83 62%, #1955a7); }
.home .impact-feature:after,
.home .home-impact:after {
  content: "";
  position: absolute;
  width: 310px;
  height: 310px;
  inset: auto 42% -235px auto;
  border: 58px solid rgba(255, 255, 255, .035);
  border-radius: 50%;
  animation: hidayah-orbit 13s ease-in-out infinite alternate;
}
.home .impact-number-grid > div,
.home .impact-band > div {
  position: relative;
  overflow: hidden;
  min-height: 155px;
  transition: transform .35s ease, background .35s ease, border-color .35s ease;
}
.home .impact-number-grid > div:after,
.home .impact-band > div:after {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  inset: auto auto -42px -35px;
  border-radius: 50%;
  background: rgba(255, 196, 95, .1);
}
.home .impact-number-grid > div:hover,
.home .impact-band > div:hover { transform: translateY(-5px); border-color: rgba(255, 196, 95, .55); background: rgba(255, 255, 255, .13); }
.home .impact-number-grid strong,
.home .impact-band strong { font-size: clamp(38px, 4vw, 52px); }
.home .impact-total { grid-column: 1 / -1; text-align: center; }
.home .impact-total > span { display: block; }
.home .impact-total > strong { margin-block: 10px; }

.home .partner-card { position: relative; overflow: hidden; filter: grayscale(.25); }
.home .partner-card:after { content: ""; position: absolute; inset: auto 20% 0; height: 3px; background: #d99a32; transform: scaleX(0); transition: transform .3s ease; }
.home .partner-card:hover { filter: grayscale(0); }
.home .partner-card:hover:after { transform: scaleX(1); }
.home .cta-premium { position: relative; isolation: isolate; overflow: hidden; }
.home .cta-premium:before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 260px;
  height: 260px;
  inset: -140px auto auto -75px;
  border: 50px solid rgba(255, 255, 255, .055);
  border-radius: 50%;
}
.home .cta-premium .btn-accent { position: relative; overflow: hidden; }
.home .cta-premium .btn-accent:after { content: ""; position: absolute; inset: -30% auto -30% -45%; width: 30%; background: rgba(255,255,255,.36); transform: skewX(-20deg); transition: left .55s ease; }
.home .cta-premium .btn-accent:hover:after { left: 120%; }

@keyframes hidayah-orbit {
  from { transform: translate3d(0, 0, 0) rotate(0deg); }
  to { transform: translate3d(40px, -25px, 0) rotate(16deg); }
}

@media (max-width: 980px) {
  .home .home-about-experience { grid-template-columns: 1fr !important; padding-block: 52px !important; }
  .home .home-about-experience > div:last-child { min-height: 400px; }
  .home .intro-layout { grid-template-columns: 1fr; gap: 22px; }
  .home .intro-layout > div:first-child { padding: 34px; }
  .home .intro-metrics > div { min-height: 145px; }
}
@media (max-width: 640px) {
  .home .section-intro { padding-block: 48px; }
  .home .home-about-experience { width: calc(100% - 28px) !important; padding-block: 38px !important; }
  .home .home-about-experience > div:first-child { padding: 27px 22px !important; border-radius: 16px; }
  .home .home-about-experience > div:last-child { min-height: 300px; border-radius: 16px; }
  .home .intro-layout > div:first-child { padding: 27px 22px; border-radius: 16px; }
  .home .intro-layout .section-title { font-size: 27px; }
  .home .intro-metrics { grid-template-columns: 1fr 1fr; gap: 10px; }
  .home .intro-metrics > div { min-height: 128px; padding: 20px 16px; border-radius: 14px; }
  .home .intro-metrics strong { font-size: 31px; }
  .home .intro-metrics span { font-size: 11px; line-height: 1.65; }
  .home main .section:not(.section-intro) .section-head { padding-inline-start: 14px; }
  .home .impact-number-grid { grid-template-columns: 1fr 1fr; }
  .home .impact-number-grid > div { min-height: 135px; padding: 20px 16px; }
  .home .impact-number-grid strong { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .home .impact-feature:after { animation: none; }
  .home .media-card, .home .intro-metrics > div, .home .impact-number-grid > div { transition: none; }
}

/* Calm ambient motion. No scroll-triggered content reveals. */
.home .hero-photo:before {
  inset: -3%;
  transform: translate3d(var(--hero-shift-x, 0), calc(var(--hero-pointer-y, 0px) + var(--hero-scroll-y, 0px)), 0) scale(1.06);
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}
.home main > .elementor > .e-con:first-child {
  background-position: calc(0% + var(--hero-shift-x, 0px)) calc(50% + var(--hero-pointer-y, 0px) + var(--hero-scroll-y, 0px)) !important;
  transition: background-position .45s cubic-bezier(.2,.7,.2,1);
  will-change: background-position;
}
.home .hero-card { animation: hidayah-card-float 6.5s ease-in-out infinite; }
.home .journey-icon { animation: hidayah-icon-float 4.6s ease-in-out infinite; }
.home .journey-item:nth-of-type(3) .journey-icon { animation-delay: -.9s; }
.home .journey-item:nth-of-type(5) .journey-icon { animation-delay: -1.8s; }
.home .journey-arrow { animation: hidayah-path-pulse 2.4s ease-in-out infinite; }
.home .process-icon { animation: hidayah-icon-float 4.6s ease-in-out infinite; }
.home .process-step:nth-child(2) .process-icon { animation-delay: -.9s; }
.home .process-step:nth-child(3) .process-icon { animation-delay: -1.8s; }
.home .process-arrow { animation: hidayah-path-pulse 2.4s ease-in-out infinite; }
.home .process-connector { position: relative; overflow: hidden; }
.home .process-connector:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(217,154,50,.85), transparent);
  transform: translateX(110%);
  animation: hidayah-path-flow 3.2s ease-in-out infinite;
}

.home .home-programs,
.home .programs-showcase,
.home .courses-showcase,
.home .home-stories,
.home .home-news { position: relative; isolation: isolate; overflow: hidden; }
.home .home-programs:after,
.home .programs-showcase:after,
.home .courses-showcase:after,
.home .home-stories:after,
.home .home-news:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  inset: -170px auto auto -150px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(33,82,162,.10) 0 2px, transparent 3px) 0 0/24px 24px;
  opacity: .6;
  animation: hidayah-ambient-drift 18s ease-in-out infinite alternate;
}
.home .courses-showcase:after,
.home .home-stories:after { inset: auto -170px -180px auto; background-color: rgba(227,154,43,.035); animation-delay: -7s; }

.home .media-card { transition: transform .32s cubic-bezier(.2,.75,.25,1), box-shadow .32s ease; }
.home .media-card:hover { transform: translateY(-8px); box-shadow: 0 22px 48px rgba(10,39,91,.15); }
.home .media-card:hover .media-card-thumb img { transform: scale(1.065); }
.home .btn-accent,
.home .btn-primary,
.home .elementor-button { position: relative; isolation: isolate; overflow: hidden; }
.home .btn-accent:after,
.home .btn-primary:after,
.home .elementor-button:after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -35% auto -35% -48%;
  width: 24%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
  transform: skewX(-18deg);
  animation: hidayah-button-shine 5.5s ease-in-out infinite;
}

.home-partner-motion { position: relative; padding-inline: 42px; }
.home .partner-grid.home-partner-track {
  display: flex;
  grid-template-columns: none;
  gap: 14px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.home .partner-grid.home-partner-track::-webkit-scrollbar { display: none; }
.home .partner-grid.home-partner-track .partner-card { flex: 0 0 calc((100% - 56px)/5); scroll-snap-align: start; }
.home-partner-control {
  position: absolute;
  z-index: 4;
  top: 50%;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid #dbe3ef;
  border-radius: 50%;
  background: #fff;
  color: #173f8f;
  font: 800 23px/1 Arial,sans-serif;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(15,40,91,.12);
  transition: color .2s ease, border-color .2s ease, transform .2s ease;
}
.home-partner-control:hover { color: #d28a21; border-color: #d28a21; transform: translateY(-50%) scale(1.07); }
.home-partner-previous { inset-inline-start: 0; }
.home-partner-next { inset-inline-end: 0; }

@keyframes hidayah-card-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes hidayah-icon-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes hidayah-path-pulse { 0%,100% { opacity: .42; transform: translateX(0); } 50% { opacity: 1; transform: translateX(-5px); } }
@keyframes hidayah-path-flow { 0%,30% { transform: translateX(110%); } 75%,100% { transform: translateX(-110%); } }
@keyframes hidayah-ambient-drift { from { transform: translate3d(0,0,0) rotate(0); } to { transform: translate3d(55px,34px,0) rotate(12deg); } }
@keyframes hidayah-button-shine { 0%,62% { left: -48%; } 82%,100% { left: 128%; } }

/* Decorative background layers stay behind content and move only with transforms. */
.home .hidayah-ambient-host { position: relative; isolation: isolate; overflow: hidden; }
.home .hidayah-ambient-host > :not(.hidayah-ambient-layer):not(.hero-overlay) { position: relative; z-index: 1; }
.home .hidayah-ambient-layer {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}
.home .hidayah-ambient-layer i { position: absolute; display: block; pointer-events: none; will-change: transform; }
.home .hidayah-ambient-layer i:nth-child(1) {
  width: clamp(300px,39vw,620px);
  aspect-ratio: 1;
  inset: -26% auto auto -12%;
  border-radius: 50%;
  opacity: .34;
  filter: blur(2px);
  background: radial-gradient(circle at 35% 35%, rgba(55,132,236,.78), rgba(75,142,232,.22) 46%, transparent 72%);
  animation: hidayah-cloud-one 22s ease-in-out infinite alternate;
}
.home .hidayah-ambient-layer i:nth-child(2) {
  width: clamp(260px,34vw,520px);
  aspect-ratio: 1;
  inset: auto -10% -34% auto;
  border-radius: 50%;
  opacity: .3;
  background: radial-gradient(circle at 50% 45%, rgba(242,168,48,.82), rgba(227,154,43,.2) 48%, transparent 73%);
  animation: hidayah-cloud-two 27s ease-in-out infinite alternate;
}
.home .hidayah-ambient-layer i:nth-child(3) {
  width: clamp(150px,18vw,280px);
  aspect-ratio: 1;
  inset: 18% 46% auto auto;
  border: 2px solid rgba(40,88,165,.24);
  border-radius: 42% 58% 61% 39% / 46% 38% 62% 54%;
  opacity: .7;
  animation: hidayah-ring-drift 31s linear infinite;
}
.home .hidayah-ambient-layer.ambient-variation-2 i:nth-child(1) { inset: auto auto -31% 8%; animation-duration: 28s; }
.home .hidayah-ambient-layer.ambient-variation-2 i:nth-child(2) { inset: -35% -8% auto auto; animation-duration: 23s; }
.home .hidayah-ambient-layer.ambient-variation-2 i:nth-child(3) { inset: 12% auto auto 53%; animation-direction: reverse; }
.home .hidayah-ambient-layer.ambient-variation-3 i:nth-child(1) { inset: -34% 23% auto auto; animation-duration: 25s; }
.home .hidayah-ambient-layer.ambient-variation-3 i:nth-child(2) { inset: auto auto -38% -4%; animation-duration: 30s; }
.home .hidayah-ambient-layer.ambient-variation-3 i:nth-child(3) { inset: auto 14% 8% auto; }
.home .impact-feature .hidayah-ambient-layer,
.home .home-impact .hidayah-ambient-layer,
.home .cta-premium .hidayah-ambient-layer,
.home main > .elementor > .e-con:first-child .hidayah-ambient-layer { mix-blend-mode: screen; opacity: .82; }

.home .hidayah-ambient-host:not(.impact-feature):not(.home-impact):not(.cta-premium) .hidayah-ambient-layer:after {
  content: "";
  position: absolute;
  width: 42%;
  height: 1px;
  inset: 58% auto auto 29%;
  opacity: .38;
  background: linear-gradient(90deg,transparent,rgba(35,79,155,.45),rgba(227,154,43,.58),transparent);
  box-shadow: 0 18px 45px rgba(35,79,155,.13);
  animation: hidayah-line-breathe 8s ease-in-out infinite alternate;
}

@keyframes hidayah-cloud-one {
  from { transform: translate3d(-4%, -3%, 0) scale(1) rotate(0); }
  to { transform: translate3d(22%, 15%, 0) scale(1.12) rotate(12deg); }
}
@keyframes hidayah-cloud-two {
  from { transform: translate3d(4%, 5%, 0) scale(.94); }
  to { transform: translate3d(-24%, -17%, 0) scale(1.1); }
}
@keyframes hidayah-ring-drift {
  from { transform: translate3d(0,0,0) rotate(0deg); }
  50% { transform: translate3d(30px,-22px,0) rotate(180deg); }
  to { transform: translate3d(0,0,0) rotate(360deg); }
}
@keyframes hidayah-line-breathe {
  from { opacity: .22; transform: scaleX(.72) translateY(-8px); }
  to { opacity: .58; transform: scaleX(1.08) translateY(8px); }
}

@media (max-width: 980px) {
  .home .partner-grid.home-partner-track .partner-card { flex-basis: calc((100% - 28px)/3); }
}
@media (min-width: 641px) and (max-width: 1180px) {
  .home main > .elementor > .e-con:first-child > .e-con {
    box-sizing: border-box !important;
    padding-inline: 34px 28px !important;
  }
  .home main > .elementor > .e-con:first-child .elementor-heading-title {
    max-width: 100%;
    overflow-wrap: break-word;
  }
  .home main > .elementor > .e-con:first-child .e-grid {
    width: 100% !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 12px !important;
  }
  .home main > .elementor > .e-con:first-child .e-grid > .elementor-widget-button {
    width: 100% !important;
    max-width: none !important;
  }
  .home main > .elementor > .e-con:first-child .elementor-button {
    width: 100%;
    min-height: 64px;
    padding: 11px 14px;
    line-height: 1.45;
  }
}
@media (max-width: 640px) {
  .home .hero-card { animation: none; }
  .home-partner-motion { padding-inline: 34px; }
  .home .partner-grid.home-partner-track .partner-card { flex-basis: calc((100% - 14px)/2); }
}
@media (prefers-reduced-motion: reduce) {
  .home .hero-photo:before { transform: none; transition: none; }
  .home .hero-card,
  .home .journey-icon,
  .home .journey-arrow,
  .home .process-icon,
  .home .process-arrow,
  .home .process-connector:after,
  .home .home-programs:after,
  .home .programs-showcase:after,
  .home .courses-showcase:after,
  .home .home-stories:after,
  .home .home-news:after,
  .home .btn-accent:after,
  .home .btn-primary:after,
  .home .elementor-button:after { animation: none; }
  .home .hidayah-ambient-layer i:nth-child(n) { animation: none !important; will-change: auto; }
  .home .hidayah-ambient-layer:after { animation: none !important; }
}
