

.kf-section{ position:relative; display:flex; align-items:center; justify-content:center; width:100%; }

.kf-intro{ padding:0; background:#083f44; overflow:hidden; min-height:100vh; min-height:100dvh; }
.kf-intro-bg{ position:absolute; inset:0; z-index:0; }

.kf-intro-bg video{
  width:100%; height:100%; object-fit:cover; object-position:center;
  transform:scale(1); animation:kf-intro-kenburns 11s ease-out forwards;
}
.kf-intro-bg.kf-frozen video{ animation-play-state:paused; }
@keyframes kf-intro-kenburns{ from{ transform:scale(1); } to{ transform:scale(1.07); } }
.kf-intro-bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(8,63,68,0) 0%, rgba(8,63,68,.35) 62%, rgba(8,63,68,.85) 100%);
}

.kf-intro-bg::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none; mix-blend-mode:soft-light;
  background:
    radial-gradient(560px 420px at 8% 10%, rgba(212,175,55,.5), transparent 65%),
    radial-gradient(620px 460px at 94% 92%, rgba(11,94,101,.55), transparent 65%);
}

.kf-hero-carousel{
  position:absolute; inset:0; z-index:2; opacity:0; visibility:hidden;
  transition:opacity 1s ease .3s, visibility 1s ease .3s;
}
.kf-intro-bg.kf-frozen .kf-hero-carousel{ opacity:1; visibility:visible; }
.kf-hero-carousel-slide{
  position:absolute; inset:0; background-image:var(--kf-bg-desktop);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  opacity:0; transition:opacity 1.2s ease;
}
.kf-hero-carousel-slide.is-active{ opacity:1; }
.kf-hero-carousel-overlay{
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(8,63,68,.15) 0%, rgba(8,63,68,.4) 55%, rgba(8,63,68,.85) 100%);
}
.kf-hero-carousel-copy{
  position:absolute; inset-inline-end:6%; bottom:14%; max-width:520px; text-align:end; color:#fff;
}
.kf-hero-carousel-copy h2{ font-size:clamp(24px,3.6vw,40px); font-weight:900; margin:0 0 10px; text-shadow:0 4px 18px rgba(0,0,0,.4); }
.kf-hero-carousel-copy p{ font-size:15px; font-weight:600; opacity:.95; margin:0; text-shadow:0 2px 10px rgba(0,0,0,.4); }
@media (max-width:760px){
  .kf-hero-carousel-copy{ inset-inline-end:5%; inset-inline-start:5%; max-width:none; text-align:center; bottom:10%; }
  /* على الهاتف: تُستخدم الصورة الطولية المخصّصة إن رُفعت (تملأ الشاشة تمامًا بلا قص
     غير متناسق)، وإلا فالصورة الأصلية تُغطّي المساحة كاملة بدون فراغات. */
  .kf-hero-carousel-slide{ background-image:var(--kf-bg-mobile); background-size:cover; background-position:center; }
}

.kf-intro-sweep{
  position:absolute; inset:-20% -20%; z-index:1; pointer-events:none; opacity:.35;
  background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.22) 49%, rgba(255,255,255,.22) 51%, transparent 60%);
  background-size:250% 250%; animation:kf-intro-sweep-move 9s ease-in-out infinite;
}
@keyframes kf-intro-sweep-move{
  0%{ background-position:120% 0%; }
  50%{ background-position:-20% 100%; }
  100%{ background-position:120% 0%; }
}
.kf-intro-content{
  position:absolute; z-index:1; width:100%; max-width:640px; margin:0 auto;
  padding:0 6%; text-align:center; bottom:26px; left:0; right:0;
}
.kf-intro-content p{
  font-size:15.5px; line-height:1.9; color:rgba(255,255,255,.92); font-weight:600; margin:0;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

.kf-intro-freeze-badge{
  position:absolute; z-index:3; top:8%; left:6%;
  display:flex; flex-direction:column; align-items:flex-start; gap:18px;
  opacity:0; pointer-events:none; transition:opacity 1s ease;
}
.kf-intro-freeze-badge.is-visible{ opacity:1; }
.kf-intro-freeze-logo{
  height:108px; width:auto; filter:drop-shadow(0 10px 28px rgba(0,0,0,.45)) brightness(0) invert(1);
  opacity:0; transform:scale(.82);
  transition:opacity .8s ease .1s, transform .8s cubic-bezier(.34,1.56,.64,1) .1s;
}
.kf-intro-freeze-badge.is-visible .kf-intro-freeze-logo{ opacity:1; transform:scale(1); }
.kf-intro-freeze-tagline-wrap{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(8,63,68,.42); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:10px 22px 10px 17px;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.4);
  opacity:0; transform:translateY(12px);
  transition:opacity .8s ease .35s, transform .8s cubic-bezier(.16,1,.3,1) .35s;
}
.kf-intro-freeze-badge.is-visible .kf-intro-freeze-tagline-wrap{ opacity:1; transform:translateY(0); }
.kf-intro-freeze-tagline-dot{
  width:8px; height:8px; border-radius:50%; background:var(--secondary-light); flex-shrink:0;
  box-shadow:0 0 10px 1px rgba(235,209,113,.7);
}
.kf-intro-freeze-tagline{
  font-size:16.5px; font-weight:800; color:#fff; letter-spacing:.2px; white-space:nowrap;
}

.kf-intro-values{
  position:absolute; z-index:3; bottom:9%; right:6%;
  display:flex; align-items:center; gap:12px;
  background:rgba(8,63,68,.45); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:10px 20px 10px 16px;
  box-shadow:0 14px 34px -10px rgba(0,0,0,.4);
}
.kf-intro-values-ring{
  position:relative; width:10px; height:10px; flex-shrink:0; border-radius:50%; background:var(--secondary-light);
}
.kf-intro-values-ring::before{
  content:''; position:absolute; inset:-6px; border-radius:50%; border:1.5px solid var(--secondary-light);
  animation:kf-values-pulse 2.2s ease-out infinite;
}
@keyframes kf-values-pulse{
  0%{ transform:scale(.6); opacity:.9; }
  100%{ transform:scale(1.9); opacity:0; }
}
.kf-intro-values-label{ font-size:11.5px; font-weight:800; color:rgba(255,255,255,.65); letter-spacing:.03em; }
.kf-intro-values-word{
  font-size:15.5px; font-weight:800; color:#fff; min-width:92px; text-align:right;
  display:inline-block; text-shadow:0 2px 8px rgba(0,0,0,.4);
  transition:opacity .35s ease, transform .35s ease;
}
.kf-intro-values-word.kf-swap{ opacity:0; transform:translateY(6px); }

@media (max-width:900px){
  .kf-intro-freeze-badge{ top:13%; left:5%; gap:13px; }
  .kf-intro-freeze-logo{ height:68px; }
  .kf-intro-freeze-tagline-wrap{ padding:8px 16px 8px 13px; gap:8px; }
  .kf-intro-freeze-tagline{ font-size:13.5px; }
  .kf-intro-values{ bottom:auto; top:14%; right:5%; padding:8px 16px 8px 13px; gap:9px; }
  .kf-intro-values-label{ display:none; }
  .kf-intro-values-word{ font-size:13.5px; min-width:0; }
}

.kf-intro-particles{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.kf-intro-particles span{
  position:absolute; bottom:-20px; border-radius:50%; background:var(--secondary-light);
  opacity:0; animation:kf-intro-rise linear infinite;
}
@keyframes kf-intro-rise{
  0%{ transform:translateY(0) scale(.6); opacity:0; }
  12%{ opacity:.85; }
  88%{ opacity:.4; }
  100%{ transform:translateY(-92vh) scale(1.1); opacity:0; }
}

@media (max-width:900px){
  .kf-intro{ height:100vh; height:100dvh; min-height:unset; max-height:100vh; max-height:100dvh; }
  .kf-intro-content{ bottom:20px; }
  .kf-intro-content p{ font-size:14px; }
  
  .kf-intro-bg video{ object-position:center 62%; }
}

.kf-section-head{ text-align:center; max-width:640px; margin:0 auto 46px; }
.kf-section-eyebrow{
  display:inline-block; color:var(--secondary); background:rgba(212,175,55,.12);
  font-size:12.5px; font-weight:800; padding:6px 16px; border-radius:20px; margin-bottom:14px;
}
.kf-section-head h2{ font-size:clamp(26px,3.4vw,38px); font-weight:900; color:var(--text-dark); margin:0 0 12px; }
.kf-section-head h2 span{ color:var(--primary); }
.kf-section-head p{ font-size:15px; color:var(--text-muted); font-weight:600; margin:0; }

.kf-programs{
  position:relative; overflow:hidden; padding:26px 0 16px; align-items:flex-start;
  background:#f4f8f7;
}
.kf-programs .kf-section-head{ margin-bottom:10px; }
.kf-programs .kf-section-eyebrow{ margin-bottom:6px; }
.kf-programs .kf-section-head h2{ margin-bottom:4px; }
.kf-programs::before{
  content:''; position:absolute; inset:-10%; z-index:0; pointer-events:none;
  background:
    radial-gradient(420px 320px at 10% 12%, rgba(11,94,101,.22), transparent 68%),
    radial-gradient(380px 300px at 88% 20%, rgba(212,175,55,.20), transparent 65%),
    radial-gradient(460px 360px at 22% 92%, rgba(18,122,131,.18), transparent 68%),
    radial-gradient(400px 320px at 92% 88%, rgba(235,209,113,.22), transparent 65%);
  filter:blur(28px);
  animation:kf-programs-blob-drift 20s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes kf-programs-blob-drift{
  0%{ transform:translate(0,0) scale(1); }
  100%{ transform:translate(-1.5%,2%) scale(1.06); }
}
.kf-programs-wrap{ position:relative; z-index:1; max-width:1800px; margin:0 auto; padding:0 4%; width:100%; }

.kf-programs-marquee-wrap{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.kf-programs-marquee{
  overflow:hidden; width:100%;
  direction:ltr; /* حساب موضع الشريط (translateX) مبني على منطق LTR — في صفحة RTL بدون هذا السطر
                    يُثبَّت الشريط من جهة اليمين بدل اليسار فيخرج بالكامل خارج الإطار أثناء جزء من الحركة */
}
.kf-programs-track{
  display:flex; align-items:stretch; gap:18px; width:max-content; will-change:transform;
}
.kf-programs-track-right{ animation:kf-programs-marquee-right 42s linear infinite; }
.kf-programs-track-left{ animation:kf-programs-marquee-left 42s linear infinite; }
.kf-programs-marquee:hover .kf-programs-track{ animation-play-state:paused; }
@keyframes kf-programs-marquee-right{ from{ transform:translateX(-50%); } to{ transform:translateX(0%); } }
@keyframes kf-programs-marquee-left{ from{ transform:translateX(0%); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){
  .kf-programs-track{ animation:none; }
}
@media (max-width:600px){
  .kf-program-card{ padding:16px 10px; }
}
@media (max-width:760px){
  /* الخلفية الضبابية المتحركة خلف قسم البرامج مكلفة على معالجات الهواتف — تُثبَّت بلا حركة */
  .kf-programs::before{ animation:none; filter:blur(16px); }
}
.kf-program-card, .kf-program-card:link, .kf-program-card:visited, .kf-program-card:hover, .kf-program-card:active,
.kf-program-card *{
  text-decoration:none !important;
}
.kf-program-card{
  background:#fff; border-radius:18px; padding:20px 16px; text-align:center;
  border:1px solid rgba(11,94,101,.08); box-shadow:0 10px 26px rgba(11,94,101,.06);
  transition:transform .3s ease, box-shadow .3s ease; overflow:hidden; position:relative;
  display:block; color:inherit; width:200px; flex-shrink:0;
}
.kf-program-card:hover{ transform:translateY(-6px); box-shadow:0 18px 36px rgba(11,94,101,.12); }
.kf-program-icon{
  width:54px; height:54px; border-radius:15px; margin:0 auto 14px;
  background:linear-gradient(135deg,var(--primary-light),var(--primary));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:21px;
}

.kf-program-card.has-photo{ padding:0 16px 18px; }
.kf-program-photo{
  height:100px; margin:0 -16px 12px; background-size:cover; background-position:center;
  position:relative;
}
.kf-program-photo::after{
  content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(8,63,68,0) 55%, rgba(8,63,68,.55));
}
.kf-program-card.has-photo .kf-program-icon{
  position:relative; margin-top:-32px; z-index:1; box-shadow:0 8px 18px -4px rgba(0,0,0,.35);
  border:3px solid #fff;
}
.kf-program-count{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  font-size:25px; font-weight:900; color:var(--primary); margin-bottom:6px; line-height:1.2;
}
.kf-program-count span{ font-size:12px; font-weight:700; color:var(--text-muted); }
.kf-program-card h3{
  font-size:16px; font-weight:800; color:var(--text-dark); margin:0 0 6px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.kf-program-card p{
  font-size:13px; line-height:1.6; color:var(--text-muted); font-weight:600; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.kf-programs-more{
  display:flex; align-items:center; justify-content:center; gap:8px;
  color:var(--primary); font-weight:800; font-size:15px; text-decoration:none;
}

.kf-testimonials{ padding:100px 0; align-items:flex-start; }
.kf-testimonials-wrap{ max-width:1800px; margin:0 auto; padding:0 4%; width:100%; text-align:center; }
.kf-testimonials-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-bottom:34px; text-align:right;
}
.kf-testimonial-card{
  background:#fff; border-radius:18px; padding:26px; border:1px solid rgba(11,94,101,.08);
  box-shadow:0 10px 26px rgba(11,94,101,.06); position:relative;
}
.kf-testimonial-quote{ color:rgba(212,175,55,.35); font-size:22px; margin-bottom:12px; }
.kf-testimonial-card p{ font-size:14.5px; line-height:1.8; color:var(--text-dark); font-weight:600; margin:0 0 16px; }
.kf-testimonial-name{ font-size:13px; font-weight:800; color:var(--primary); display:block; }
.kf-testimonial-role{ font-size:11.5px; font-weight:700; color:var(--text-muted); }
.kf-testimonial-placeholder{ opacity:.75; border-style:dashed; }

.kf-testimonial-modal{
  position:fixed; inset:0; z-index:2000; background:rgba(8,63,68,.55); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.kf-testimonial-modal[hidden]{ display:none; }
.kf-testimonial-modal-box{
  background:#fff; border-radius:20px; padding:32px; max-width:440px; width:100%; position:relative; text-align:right;
}
.kf-testimonial-modal-close{
  position:absolute; top:16px; left:16px; width:32px; height:32px; border-radius:50%;
  border:1px solid rgba(11,94,101,.15); background:#f4f8f7; color:var(--primary); cursor:pointer;
}
.kf-testimonial-modal-box h3{ font-size:19px; font-weight:800; color:var(--text-dark); margin:0 0 10px; }
.kf-testimonial-note{
  font-size:12.5px; color:var(--text-muted); background:rgba(212,175,55,.1); border-radius:10px;
  padding:10px 12px; margin:0 0 18px; display:flex; align-items:flex-start; gap:8px; line-height:1.6;
}
#kfTestimonialForm label{ display:block; font-size:13px; font-weight:700; color:var(--text-dark); margin-bottom:14px; }
#kfTestimonialForm input, #kfTestimonialForm textarea{
  width:100%; margin-top:6px; padding:10px 12px; border-radius:10px; border:1px solid rgba(11,94,101,.18);
  font-family:'Cairo',sans-serif; font-size:13.5px; resize:vertical;
}
.kf-testimonial-success{ color:var(--primary); font-weight:700; font-size:14px; text-align:center; }

@media (max-width:900px){
  .kf-programs{ padding:40px 0 26px; min-height:unset; }
  .kf-testimonials{ padding:70px 0; min-height:unset; }
}

.kf-about-logo{ position:relative; overflow:hidden; background:#fff; padding:110px 0; }

.kf-about-logo-sky{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.kf-about-star{
  position:absolute; width:3px; height:3px; border-radius:50%;
  background:var(--secondary); box-shadow:0 0 6px 1px rgba(212,175,55,.6);
  opacity:0; animation:kf-about-star-twinkle 3.4s ease-in-out infinite;
}
.kf-about-star:nth-child(1){ top:10%; left:6%; animation-delay:.1s; }
.kf-about-star:nth-child(2){ top:22%; left:18%; animation-delay:1.4s; width:2px; height:2px; }
.kf-about-star:nth-child(3){ top:8%; left:32%; animation-delay:.7s; }
.kf-about-star:nth-child(4){ top:35%; left:48%; animation-delay:2.1s; width:2px; height:2px; }
.kf-about-star:nth-child(5){ top:14%; left:62%; animation-delay:.4s; }
.kf-about-star:nth-child(6){ top:28%; left:78%; animation-delay:1.8s; width:2px; height:2px; }
.kf-about-star:nth-child(7){ top:6%; left:90%; animation-delay:1s; }
.kf-about-star:nth-child(8){ top:60%; left:10%; animation-delay:2.6s; width:2px; height:2px; }
.kf-about-star:nth-child(9){ top:78%; left:24%; animation-delay:.9s; }
.kf-about-star:nth-child(10){ top:85%; left:55%; animation-delay:1.6s; width:2px; height:2px; }
.kf-about-star:nth-child(11){ top:70%; left:72%; animation-delay:2.3s; }
.kf-about-star:nth-child(12){ top:90%; left:88%; animation-delay:.3s; width:2px; height:2px; }
@keyframes kf-about-star-twinkle{
  0%,100%{ opacity:0; transform:scale(.6); }
  50%{ opacity:.9; transform:scale(1.2); }
}
.kf-about-meteor{
  position:absolute; top:-10%; left:-10%; width:2px; height:2px; border-radius:50%;
  background:var(--secondary-light);
  box-shadow:0 0 8px 2px rgba(235,209,113,.7);
  animation:kf-about-meteor-fly 7s linear infinite;
  animation-delay:1.2s;
}
.kf-about-meteor::before{
  content:''; position:absolute; top:50%; right:100%; width:90px; height:1.5px;
  background:linear-gradient(to left, rgba(235,209,113,.85), transparent);
  transform:translateY(-50%);
}
.kf-about-meteor-2{ animation-delay:4.6s; animation-duration:8.5s; }
@keyframes kf-about-meteor-fly{
  0%{ top:-6%; left:-6%; opacity:0; }
  4%{ opacity:1; }
  22%{ top:46%; left:56%; opacity:0; }
  100%{ top:46%; left:56%; opacity:0; }
}
@media (prefers-reduced-motion:reduce){
  .kf-about-star, .kf-about-meteor{ animation:none; opacity:0; }
}
.kf-about-logo-wrap{
  position:relative; z-index:1;
  max-width:1200px; margin:0 auto; padding:0 6%; width:100%;
  display:grid; grid-template-columns:420px 1fr; gap:70px; align-items:center;
}
.kf-about-art{ position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; }
.kf-about-art canvas{ width:100%; max-width:420px; height:auto; aspect-ratio:1/1; cursor:none; }
.kf-about-art-hint{
  font-size:12.5px; font-weight:700; color:var(--text-muted); display:flex; align-items:center; gap:6px;
  opacity:.75;
}
.kf-about-copy h2{ font-size:clamp(26px,3.4vw,38px); font-weight:900; color:var(--text-dark); margin:12px 0 22px; }
.kf-about-copy h2 span{ color:var(--primary); }
.kf-about-typewriter{
  font-size:16.5px; line-height:2.05; color:var(--text-dark); font-weight:600; margin:0 0 30px;
  max-width:560px; min-height:170px;
}
.kf-tw-cursor{ display:inline-block; color:var(--secondary); font-weight:800; animation:kf-tw-blink 1s step-end infinite; }
@keyframes kf-tw-blink{ 50%{ opacity:0; } }
.kf-about-facts{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:28px; }
.kf-about-fact{
  display:flex; align-items:center; gap:12px; background:#f4f8f7; border:1px solid rgba(11,94,101,.1);
  border-radius:14px; padding:12px 16px;
}
.kf-about-fact i{ color:var(--secondary); font-size:17px; }
.kf-about-fact b{ display:block; font-size:14px; font-weight:800; color:var(--text-dark); }
.kf-about-fact span{ display:block; font-size:11.5px; color:var(--text-muted); font-weight:700; }

@media (max-width:900px){
  .kf-about-logo{ padding:60px 0; }
  .kf-about-logo-wrap{ grid-template-columns:1fr; gap:36px; text-align:center; }
  .kf-about-art canvas{ max-width:280px; }
  .kf-about-copy p, .kf-about-fact{ text-align:right; }
  .kf-about-facts, .kf-about-copy .kf-cta{ justify-content:center; }
  .kf-about-typewriter{ margin-inline:auto; min-height:220px; }
}

.kf-glow-zone{ position:relative; isolation:isolate; }
.kf-glow-zone::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:0; transition:opacity .4s ease;
  background:radial-gradient(320px circle at var(--kf-glow-x,50%) var(--kf-glow-y,50%), rgba(212,175,55,.14), transparent 70%);
}
.kf-glow-zone.kf-glow-active::before{ opacity:1; }
.kf-glow-zone > *{ position:relative; z-index:1; }


.kf-extra-field{ margin:0 0 32px; text-align:right; max-width:900px; margin-inline:auto; }
.kf-extra-field h3{ font-size:16px; font-weight:800; color:var(--primary); margin:0 0 10px; }
.kf-extra-field p{ font-size:14.5px; line-height:1.9; color:var(--text-dark); font-weight:500; margin:0; }
.kf-extra-field ul{ margin:0; padding-inline-start:20px; }
.kf-extra-field li{ font-size:14px; line-height:1.9; color:var(--text-dark); font-weight:600; margin-bottom:6px; }
