@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&family=Changa:wght@400;500;600;700&family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&family=Noto+Kufi+Arabic:wght@400;500;600;700&family=Tajawal:wght@400;500;700;800&display=swap");

:root{
  --site-font:"Cairo";
  --accent:#E53935;
  --hero-size:104px;
  --hero-text-size:18px;
  --section-title-size:68px;
  --hero-title-color:#f3f3ef;
  --hero-title-secondary-color:#81817d;
  --hero-line-height:1.04;
  --hero-size-mobile:52px;
  --hero-line-height-mobile:1.08;
  --hero-title-color-mobile:#f3f3ef;
  --hero-title-secondary-color-mobile:#81817d;
  --hero-bg-opacity:.20;
  --hero-bg-blur:8px;
  --logo-height:32px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#090909;
  color:#f3f3ef;
  font-family:var(--site-font),Arial,sans-serif;
  overflow-x:hidden
}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92vw);margin:auto}
.header{
  position:fixed;z-index:50;top:0;left:0;right:0;height:76px;
  display:flex;align-items:center;background:rgba(9,9,9,.74);
  backdrop-filter:blur(16px);border-bottom:1px solid #222
}
.nav{display:flex;align-items:center;gap:26px;position:relative}
.logo{
  margin-left:auto;display:inline-flex;align-items:center;
  min-width:82px;height:42px;line-height:1;
  font-weight:900;letter-spacing:.16em;color:#f3f3ef
}
.site-logo-image{
  display:block;width:auto;height:var(--logo-height);max-width:150px;
  object-fit:contain;object-position:center;
  opacity:.96;transition:opacity .2s ease,transform .2s ease
}
.logo:hover .site-logo-image{opacity:1;transform:translateY(-1px)}
.logo #siteLogoText{white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:26px}
.nav a{color:#aaa;font-size:.9rem}
.nav-links a:hover{color:#fff}
.cta{border:1px solid #333;border-radius:999px;padding:10px 15px}
.mobile-menu-toggle{display:none;border:0;background:transparent;color:#fff;width:44px;height:44px;padding:10px;cursor:pointer;border-radius:12px;-webkit-tap-highlight-color:transparent}
.mobile-menu-toggle span{display:block;height:2px;background:currentColor;border-radius:999px;margin:5px 0;transition:transform .25s ease,opacity .25s ease}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero{min-height:88vh;padding:150px 0 80px;display:flex;align-items:center}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.13em;font-size:.75rem}
.hero h1{
  font-size:clamp(3rem,8vw,var(--hero-size));
  line-height:var(--hero-line-height);letter-spacing:-.04em;margin:15px 0;
  max-width:100%;word-break:keep-all;color:var(--hero-title-color)
}
.hero h1 span{color:var(--hero-title-secondary-color)}
.hero p{
  max-width:760px;
  color:var(--subtitle-color,#aaa);
  line-height:var(--subtitle-line-height,1.9);
  font-size:var(--subtitle-size,var(--hero-text-size))
}
.buttons{display:flex;gap:12px;margin-top:30px}
.btn{padding:13px 20px;border-radius:999px;border:1px solid #333}
.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}
.primary:hover{background:#ff4b45;border-color:#ff4b45}

.section{padding:110px 0}
.section h2{
  font-size:var(--title-size,var(--section-title-size));
  color:var(--title-color,inherit);
  line-height:var(--title-line-height,1.08);letter-spacing:-.035em;margin:10px 0 40px
}
.muted{color:#8b8b86}
.section .section-subtitle{
  max-width:820px;
  margin:-22px 0 38px;
  font-size:var(--subtitle-size,17px);
  line-height:var(--subtitle-line-height,1.8);
  color:var(--subtitle-color,#8b8b86);
  white-space:pre-line
}
.section .section-subtitle[hidden]{display:none}
.contact .contact-section-subtitle{max-width:560px;margin-top:-20px;margin-bottom:24px}
.hero .section-subtitle{white-space:pre-line}

.work{background:#0d0d0d;overflow:hidden}
.reel-shell{position:relative;min-height:680px;display:grid;place-items:center;perspective:1600px}
.reel-carousel{position:relative;width:100%;height:640px;transform-style:preserve-3d}
.reel-slide{
  --offset:0;--abs:0;
  position:absolute;left:50%;top:50%;
  width:min(330px,68vw);aspect-ratio:9/16;
  transform:
    translate(-50%,-50%)
    translateX(calc(var(--offset)*250px))
    translateZ(calc(var(--abs)*-150px))
    rotateY(calc(var(--offset)*-22deg))
    scale(calc(1 - var(--abs)*.13));
  opacity:calc(1 - var(--abs)*.27);
  filter:blur(calc(var(--abs)*1.4px));
  transition:.65s cubic-bezier(.2,.8,.2,1);
  z-index:calc(20 - var(--abs));
  border-radius:28px;overflow:hidden;background:#181818;
  box-shadow:0 45px 90px #0008
}
.reel-slide.active{
  opacity:1;filter:none;
  box-shadow:0 45px 110px rgba(229,57,53,.20),0 45px 90px #0008
}
.reel-slide video,.placeholder{width:100%;height:100%;object-fit:cover}
.reel-sound{
  position:absolute;right:16px;bottom:16px;z-index:8;
  width:46px;height:46px;border:1px solid rgba(255,255,255,.28);
  border-radius:50%;display:grid;place-items:center;
  background:rgba(0,0,0,.66);color:#fff;
  font-size:1.1rem;line-height:1;cursor:pointer;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:opacity .2s ease,transform .2s ease,background .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.reel-sound:hover,.reel-sound:focus-visible{background:rgba(0,0,0,.86);transform:scale(1.06)}
.reel-sound.sound-on{background:var(--accent);border-color:var(--accent)}
.reel-slide:not(.active) .reel-sound{opacity:0;pointer-events:none}
.placeholder{
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;background:linear-gradient(145deg,#3a3a3a,#111 60%)
}
.placeholder strong{font-size:1.7rem}
.placeholder small{color:#bbb;margin-top:8px}
.reel-nav{
  position:absolute;top:50%;z-index:30;width:56px;height:56px;
  border-radius:50%;border:1px solid #333;background:#111c;color:#fff;
  font-size:2rem;cursor:pointer
}
.prev{right:0}.next{left:0}
.reel-nav:hover{background:var(--accent);color:#fff}
.reel-meta{display:flex;justify-content:space-between;border-top:1px solid #222;padding-top:18px;color:#888}
.reel-meta strong{color:#fff;margin-right:12px}

.services{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#222;border:1px solid #222}
.service{background:#0b0b0b;padding:34px;position:relative;overflow:hidden}
.service h3{font-size:1.7rem;margin:0 0 12px}
.service p{color:#91918d;line-height:1.8}
.service-icon{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  margin-bottom:28px;border:1px solid rgba(229,57,53,.35);
  background:rgba(229,57,53,.08);color:var(--accent);
  transition:transform .25s ease,background .25s ease
}
.service:hover .service-icon{transform:translateY(-3px) rotate(-2deg);background:rgba(229,57,53,.14)}
.service-icon svg{
  width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round
}

.about{background:var(--accent);color:#fff}
.about .section-subtitle{max-width:820px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.person{border:1px solid #262626;border-radius:24px;padding:28px;background:#101010}
.avatar{
  height:280px;border-radius:18px;
  background:radial-gradient(circle at 60% 20%,rgba(229,57,53,.20),transparent 28%),linear-gradient(145deg,#2c2c2c,#101010);
  display:grid;place-items:center;font-size:4rem;font-weight:900;color:#ffffff1f
}
.person h3{margin:20px 0 6px}
.person p{margin:0;color:#888}
.person small{display:block;margin-top:14px;color:#666}

.partners-section{background:#0d0d0d;border-top:1px solid #1e1e1e}
.partners-grid{margin-top:12px}
.partners-marquee{
  --ticker-gap:14px;
  position:relative;overflow:hidden;width:100%;direction:ltr;
  mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%)
}
.partners-track{
  --ticker-shift:1200px;
  --ticker-duration:24s;
  display:flex;align-items:stretch;gap:var(--ticker-gap);width:max-content;
  transform:translate3d(0,0,0);will-change:transform;
  backface-visibility:hidden;-webkit-backface-visibility:hidden
}
.partners-track.is-running{
  animation:partnersMotionTile var(--ticker-duration) linear infinite;
  animation-direction:var(--ticker-direction,normal)
}
.partners-seq{
  display:flex;align-items:stretch;gap:var(--ticker-gap);width:max-content;
  flex:0 0 auto
}
@keyframes partnersMotionTile{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-1 * var(--ticker-shift)),0,0)}
}
.partner-logo-card{
  direction:rtl;flex:0 0 clamp(170px,18vw,220px);min-height:132px;
  border:1px solid #252525;border-radius:20px;background:#111;
  display:grid;place-items:center;padding:22px;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,background .25s ease
}
.partner-logo-card:hover{transform:translateY(-3px);border-color:#3a3a3a;background:#141414}
.partner-logo-card img{
  width:100%;height:82px;object-fit:contain;display:block;
  filter:grayscale(1);opacity:.78;transition:filter .25s ease,opacity .25s ease,transform .25s ease
}
.partner-logo-card:hover img{filter:grayscale(0);opacity:1;transform:scale(1.025)}
.partner-fallback{width:100%;height:82px;place-items:center;text-align:center;color:#777;font-weight:700}

.contact{background:#efefe9;color:#090909;position:relative;overflow:hidden;isolation:isolate}
.contact > .wrap{position:relative;z-index:3}
.contact-background{
  position:absolute;inset:-24px;z-index:0;pointer-events:none;overflow:hidden;
  opacity:var(--contact-bg-opacity,.18);
  filter:grayscale(1) saturate(0) blur(var(--contact-bg-blur,5px)) brightness(1.05);
  transform:scale(1.035)
}
.contact-background img{width:100%;height:100%;object-fit:cover;display:block}
.contact-background-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(239,239,233,.88),rgba(239,239,233,.73) 52%,rgba(239,239,233,.82))
}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact-details a,.contact-details .row{display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(80,80,76,.26);padding:18px 0}
.contact-copy{display:grid;gap:5px;min-width:0}
.contact-copy b{display:block;margin-top:0;overflow-wrap:anywhere}
.contact-icon{
  --contact-icon-size:54px;
  --contact-icon-color:#E53935;
  width:var(--contact-icon-size);height:var(--contact-icon-size);flex:0 0 var(--contact-icon-size);
  display:grid;place-items:center;border-radius:16px;
  color:var(--contact-icon-color);
  border:1px solid color-mix(in srgb,var(--contact-icon-color) 36%,transparent);
  background:color-mix(in srgb,var(--contact-icon-color) 9%,transparent)
}
.contact-icon svg{width:52%;height:52%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.footer{padding:34px 0;color:#777;border-top:1px solid #222}
.admin-link{font-size:.78rem;color:#666}

.admin{max-width:980px;margin:90px auto;padding:0 24px}
.admin h1{font-size:3rem}
.panel{border:1px solid #2d2d2d;border-radius:20px;padding:24px;margin:18px 0;background:#101010}
.panel h2{margin-top:0}
.field{display:grid;gap:7px;margin:14px 0}
.field label{color:#999;font-size:.85rem}
.field input,.field textarea,.field select{
  width:100%;background:#090909;color:#fff;border:1px solid #333;
  border-radius:10px;padding:12px;font:inherit
}
.field textarea{min-height:90px;resize:vertical}

.title-control-group{
  border-top:1px solid #292929;
  margin-top:22px;
  padding-top:18px
}
.title-control-group:first-of-type{margin-top:10px}
.title-control-group h3{margin:0 0 12px;font-size:1rem;color:#f3f3ef}

.admin-actions{
  display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:12px;
  background:#090909dd;padding:12px;border-radius:14px
}
.admin button{border:0;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer}
.save{background:var(--accent);color:#fff}
.save:hover{background:#ff4b45}
.secondary{background:#222;color:#fff}
.hint{color:#8c8c87;line-height:1.7}
.reel-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px}
.status{color:var(--accent);font-size:.9rem}

@media(max-width:800px){
  .header{height:68px}
  .nav{width:min(1180px,92vw);justify-content:space-between;gap:12px}
  .logo{display:inline-flex!important;height:42px;min-width:0;margin:0;max-width:calc(100% - 58px);flex:0 1 auto;overflow:hidden}
  .site-logo-image{display:block;height:min(var(--logo-height),34px);max-width:min(190px,58vw);width:auto}
  .logo #siteLogoText{font-size:1rem}
  .mobile-menu-toggle{display:block;flex:0 0 44px}
  .nav-links{
    position:absolute;top:calc(100% + 13px);right:0;left:0;z-index:60;
    display:flex;flex-direction:column;align-items:stretch;gap:4px;
    padding:10px;background:rgba(14,14,14,.97);border:1px solid #2a2a2a;
    border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.45);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);
    pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease
  }
  .nav-links.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
  .nav-links a{display:block!important;padding:13px 14px;border-radius:12px;font-size:.95rem;color:#d0d0cd}
  .nav-links a:hover,.nav-links a:focus-visible{background:#1d1d1d;color:#fff}
  .nav-links .cta{margin-top:3px;text-align:center;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
  .hero{min-height:auto;padding-top:124px}
  .reel-slide{
    transform:
      translate(-50%,-50%)
      translateX(calc(var(--offset)*150px))
      translateZ(calc(var(--abs)*-100px))
      rotateY(calc(var(--offset)*-18deg))
      scale(calc(1 - var(--abs)*.15));
    width:min(280px,72vw)
  }
  .services,.team,.contact-grid{grid-template-columns:1fr}
  .contact-grid{gap:34px}
  .contact-background-overlay{background:rgba(239,239,233,.80)}
  .partners-marquee{--ticker-gap:10px;mask-image:none;-webkit-mask-image:none}
  .partner-logo-card{flex-basis:150px;min-height:110px;padding:16px}
  .partner-logo-card img,.partner-fallback{height:60px}
  .reel-row{grid-template-columns:1fr}
  .section{padding:80px 0}
}

@media(max-width:640px){
  .hero h1{
    font-size:var(--hero-size-mobile,52px);
    line-height:var(--hero-line-height-mobile,1.08);
    letter-spacing:-.025em;
    color:var(--hero-title-color-mobile,var(--hero-title-color))
  }
  .hero h1 span{color:var(--hero-title-secondary-color-mobile,var(--hero-title-secondary-color))}
  .hero p{
    font-size:var(--subtitle-size-mobile,var(--subtitle-size,17px));
    line-height:var(--subtitle-line-height-mobile,var(--subtitle-line-height,1.8));
    color:var(--subtitle-color-mobile,var(--subtitle-color,#aaa))
  }
  .section h2{
    font-size:var(--title-size-mobile,40px);
    color:var(--title-color-mobile,var(--title-color,inherit));
    line-height:var(--title-line-height-mobile,var(--title-line-height,1.10))
  }
  .section .section-subtitle{
    font-size:var(--subtitle-size-mobile,var(--subtitle-size,15px));
    line-height:var(--subtitle-line-height-mobile,var(--subtitle-line-height,1.75));
    color:var(--subtitle-color-mobile,var(--subtitle-color,#8b8b86));
    margin-top:-22px;margin-bottom:32px
  }
  .contact h2 .contact-cta-title,.contact h2 .contact-cta-subtitle{
    font-size:var(--mobile-font-size,40px)!important;
    line-height:var(--mobile-line-height,1.08)!important;
    color:var(--mobile-color)!important
  }
}

.avatar{
  position:relative;
  overflow:hidden;
}
.avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.avatar .avatar-fallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:4rem;
  font-weight:900;
  color:#ffffff1f;
}
.upload-status{
  margin-top:8px;
  font-size:.78rem;
  color:#999;
  line-height:1.6;
}
.upload-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #333;
  background:#171717;
  color:#fff;
  border-radius:999px;
  padding:9px 13px;
  cursor:pointer;
  font-size:.84rem;
}
.upload-button:hover{border-color:var(--accent)}

.hero{position:relative;overflow:hidden}
.hero > .wrap{position:relative;z-index:3}
.hero-background{
  position:absolute;inset:-24px;z-index:0;
  opacity:var(--hero-bg-opacity);
  filter:blur(var(--hero-bg-blur));
  transform:scale(1.035);
  pointer-events:none;overflow:hidden
}
.hero-background img,.hero-background video{
  width:100%;height:100%;object-fit:cover;display:block
}
.hero-background-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(9,9,9,.84) 0%,rgba(9,9,9,.63) 48%,rgba(9,9,9,.76) 100%),
    linear-gradient(180deg,rgba(9,9,9,.18),rgba(9,9,9,.62))
}


.contact .contact-cta-title{
  color:#090909;
}
.contact .contact-cta-subtitle{
  color:#8d8d87;
}

@media (max-width:700px){
  .reel-sound{right:12px;bottom:12px;width:44px;height:44px;font-size:1rem}
}
