*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#060810;--bg2:#0b0e1a;--bg3:#111520;
  --blue0:#00C6FF;--blue1:#0072FF;
  --grad:linear-gradient(135deg,#00C6FF,#0072FF);
  --glass:rgba(255,255,255,0.03);--border:rgba(0,198,255,0.15);
  --glass-border:rgba(255,255,255,0.08);
  --text:#f0f4ff;--muted:#9aaabb;--mono:'DM Mono',monospace;
}
:root{
  --trans: 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
/* Visually hidden but accessible */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Restore default system cursor — custom cursor removed */
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden;position:relative}

/* BG */
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,198,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,198,255,.03) 1px,transparent 1px);
  background-size:120px 120px}
.bg-orb1{position:fixed;top:-10%;left:-5%;width:70vw;height:70vw;border-radius:50%;
  background:radial-gradient(circle,rgba(0,114,255,.15) 0%,transparent 70%);pointer-events:none;z-index:0;
  animation:orbDrift1 32s ease-in-out infinite}
.bg-orb2{position:fixed;bottom:-10%;right:-5%;width:60vw;height:60vw;border-radius:50%;
  background:radial-gradient(circle,rgba(0,198,255,.12) 0%,transparent 70%);pointer-events:none;z-index:0;
  animation:orbDrift2 38s ease-in-out infinite}
@keyframes orbDrift1{0%,100%{transform:translate(0,0)}33%{transform:translate(3%,2%)}66%{transform:translate(-2%,3%)}}
@keyframes orbDrift2{0%,100%{transform:translate(0,0)}33%{transform:translate(-3%,-2%)}66%{transform:translate(2%,-3%)}}
body>*:not(.bg-grid):not(.bg-orb1):not(.bg-orb2){position:relative;z-index:1}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.1rem 5rem;display:flex;justify-content:space-between;align-items:center;
  background:rgba(10,14,20,0.5);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--glass-border)}
@supports not (backdrop-filter: blur(1px)) { nav { background: rgba(6,8,16,0.95); border-bottom: 1px solid var(--border); } }
.nav-left{display:flex;align-items:center;gap:2rem}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:4px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.rec-badge{display:flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.7rem;letter-spacing:2px;color:#2eff8a;text-transform:uppercase}
.rec-dot{width:8px;height:8px;border-radius:50%;background:#2eff8a;box-shadow:0 0 8px #2eff8a;animation:recPulse 1.8s ease-in-out infinite}
@keyframes recPulse{0%,100%{opacity:1}50%{opacity:.15}}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;transition:var(--trans)}
.nav-links a:hover{color:var(--blue0)}
.nav-cta{padding:.6rem 1.8rem;background:var(--grad);border-radius:6px;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:var(--trans)}
.nav-cta:hover{box-shadow:0 0 22px rgba(0,198,255,.4);transform:translateY(-1px)}

/* HERO — centered */
.hero{min-height:85vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:5rem 4rem 2rem;overflow:visible;position:relative}
.hero::before{content:'';position:absolute;top:5%;left:10%;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,198,255,.1) 0%,transparent 65%);pointer-events:none;filter:blur(24px)}
.hero-label{font-family:var(--mono);font-size:.72rem;letter-spacing:3px;color:var(--blue0);text-transform:uppercase;
  margin-bottom:1.4rem;opacity:0;animation:fadeUp .8s .2s forwards}

.hero-blob {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 35vw;
  height: 35vw;
  max-width: 380px;
  max-height: 380px;
  background: var(--grad);
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.12;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: -1;
  animation: blobPulse 8s ease-in-out infinite alternate;
}
@keyframes blobPulse {
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.12; }
  100% { transform: translate(-50%, -50%) scale(1.05); opacity: 0.18; }
}

/* Hero headline — bilingual two-line stacked */
.hero-headline{
  display:flex;flex-direction:column;align-items:center;
  font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,5.5vw,5rem);
  line-height:1.08;letter-spacing:1px;margin-bottom:1.5rem;overflow:visible;
  max-width:900px;gap:.2rem;
}
.hl-wrap{
  position:relative;display:inline-block;font-family:'DM Sans',sans-serif;
  font-size:.62em;font-weight:600;letter-spacing:.5px;
  opacity:0;animation:fadeUp .8s forwards;overflow:visible;
}
.hl-wrap:first-child{animation-delay:.35s}
.hl-wrap:last-child{animation-delay:.5s}
.hl-script{
  display:inline-block;margin-top:.1rem;overflow:visible;
  opacity:0;animation:fadeUp .8s .47s forwards;
}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s forwards}
.btn-primary{padding:.9rem 2.2rem;background:var(--grad);border-radius:8px;color:#fff;font-weight:600;
  text-decoration:none;font-size:.95rem;transition:var(--trans)}
.btn-primary:hover{box-shadow:0 0 28px rgba(0,198,255,.45);transform:translateY(-2px)}
.btn-ghost{padding:.9rem 2.2rem;border:1px solid var(--glass-border);border-radius:8px;color:var(--text);
  font-size:.95rem;text-decoration:none;transition:var(--trans);
  background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.btn-ghost:hover{border-color:var(--blue0);color:var(--blue0);background:rgba(255,255,255,0.06)}

/* SCRIPT TEXT */
.script-text{
  background:linear-gradient(100deg,#a8d8ff 0%,#00C6FF 30%,#ffffff 50%,#00C6FF 70%,#a8d8ff 100%);
  background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  padding:.15em .25em;
  animation:glassShine 4s linear infinite;
  filter:drop-shadow(0 0 10px rgba(0,198,255,.45));
  overflow:visible;
}
@keyframes glassShine{0%{background-position:200% center}100%{background-position:-200% center}}
/* Arabic spans inside heading use Tajawal for proper rendering */
.hero-headline .ar{font-family:'Tajawal',sans-serif;font-weight:500}
/* Touch fallback for all interactive elements: */
.nav-cta,.btn-primary,.btn-ghost,.contact-link{pointer-events:auto}

/* EYE */
.eye3d{display:inline-block;vertical-align:middle;margin:0 .2em;animation:eyeBlink 5s ease-in-out infinite}
@keyframes eyeBlink{0%,85%,100%{transform:scaleY(1)}90%,95%{transform:scaleY(0.04)}}

/* PAPER MONEY */
.money3d{display:inline-block;vertical-align:middle;margin:0 .25em;
  animation:moneyFloat 5s ease-in-out infinite;filter:drop-shadow(0 4px 10px rgba(0,180,80,.4));
  transform-style:preserve-3d}
@keyframes moneyFloat{
  0%,100%{transform:perspective(300px) rotateX(12deg) rotateY(-8deg) translateY(0)}
  50%{transform:perspective(300px) rotateX(8deg) rotateY(8deg) translateY(-6px)}}

/* SECTION BASE */
section{padding:6rem 5rem}
.section-label{font-family:var(--mono);font-size:.72rem;letter-spacing:3px;color:var(--blue0);text-transform:uppercase;margin-bottom:.8rem}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,5vw,4.5rem);letter-spacing:2px;margin-bottom:.8rem}
.section-sub{color:var(--muted);font-size:.95rem;line-height:1.75;max-width:560px;margin-bottom:2.5rem}

/* ABOUT BLOCK */
.about-block{
  padding:3rem 5rem;
  background:var(--glass);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--glass-border);
  border-radius:16px;
  max-width:800px;
  margin:2rem auto 4rem;
  box-shadow:0 10px 40px rgba(0,0,0,0.2);
}
@supports not (backdrop-filter: blur(1px)) { .about-block { background: var(--bg2); border: 1px solid var(--border); } }
.about-inner{
  display:flex;align-items:center;gap:2rem;
  max-width:700px;margin:0 auto;
}
.about-photo{
  width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid var(--blue0);box-shadow:0 0 18px rgba(0,198,255,.3);
}
.about-text{display:flex;flex-direction:column;gap:.55rem}
.about-bio{font-size:.92rem;line-height:1.7;color:var(--muted)}
.about-bio strong{color:var(--text)}
.about-sig{
  font-family:'Pinyon Script',cursive;font-size:1.3rem;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  line-height:1.4;
}

/* WORKS */
.works{position:relative;background:var(--bg);overflow:hidden}

/* Decorative moving background blobs for Works section */
/* Blobs use filter: blur() not backdrop-filter — cheaper to render across a large area. Keep opacity low and animation slow to avoid repaint jank during scroll. */
.works-blobs{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.works-blob{
  position:absolute;
  background:var(--grad);
  border-radius:50%;
  filter:blur(80px);
  opacity:0.12;
  will-change:transform;
}
.blob-1{width:60vw;height:50vw;top:-10%;left:-20%;animation:blobDrift1 18s ease-in-out infinite alternate}
.blob-2{width:50vw;height:60vw;bottom:-20%;right:-10%;animation:blobDrift2 20s ease-in-out infinite alternate}
.blob-3{width:40vw;height:40vw;top:40%;left:30%;animation:blobDrift3 22s ease-in-out infinite alternate}

@keyframes blobDrift1{0%{transform:translate(0,0)}100%{transform:translate(10%,5%)}}
@keyframes blobDrift2{0%{transform:translate(0,0)}100%{transform:translate(-15%,-10%)}}
@keyframes blobDrift3{0%{transform:translate(0,0)}100%{transform:translate(5%,-15%)}}

/* Grid — 3 columns desktop */
.works-inner{position:relative;z-index:1}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}

.grid-fade-wrap { position: relative; }
.grid-fade{
  position: absolute;
  bottom: -5px; left: 0; right: 0; height: 180px;
  background: linear-gradient(transparent, var(--bg));
  pointer-events: none; z-index: 2;
  transition: opacity var(--trans);
}
.hidden-video { display: none !important; }

/* LOGO TICKER */
.logo-ticker-wrap{
  position:relative;z-index:1;
  padding:2rem 0 1.5rem;
  overflow:hidden;
  mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);
}
.logo-ticker-label{
  font-family:var(--mono);font-size:.65rem;letter-spacing:3px;color:var(--muted);
  text-transform:uppercase;text-align:center;margin-bottom:1.4rem;
}
.logo-ticker{
  display:flex;align-items:center;
  width:max-content;
  animation:tickerScroll 28s linear infinite;
  gap:0;
}
.logo-ticker:hover{animation-play-state:paused}
@keyframes tickerScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}}
.logo-item{
  display:flex;align-items:center;justify-content:center;
  padding:0 2.8rem;
  position:relative;
}
.logo-item img{
  height:45px;
  width:auto;
  object-fit:contain;
  display:block;
  opacity:.72;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.15));
  transition:var(--trans);
}
.logo-item img:hover{
  opacity:1;
  filter:drop-shadow(0 0 12px currentColor) drop-shadow(0 0 24px rgba(255,255,255,.3)) brightness(1.1);
}
/* Separator dots */
.logo-item::after{
  content:'·';position:absolute;right:0;
  color:var(--border);font-size:1.2rem;line-height:1;
}

/* Card */
.work-card{
  border-radius:12px;overflow:hidden;
  border:1px solid rgba(0,198,255,0.15);
  background:rgba(10,14,20,0.6);
  position:relative;cursor:pointer;
  transition:var(--trans);
  aspect-ratio: 9 / 16;
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .work-card {
    background:rgba(255,255,255,0.03);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
}
.work-card:hover:not(.playing){border-color:rgba(0,198,255,.35);box-shadow:0 0 20px rgba(0,198,255,.15)}
.work-card.playing{border-color:var(--blue0);box-shadow:0 0 30px rgba(0,198,255,.35);z-index:10}
.work-card video{width:100%;height:100%;object-fit:cover;display:block}

/* Performance badges */
.perf-badge{
  position:absolute;top:.6rem;left:.6rem;z-index:3;
  font-family:var(--mono);font-size:.52rem;letter-spacing:1.5px;text-transform:uppercase;
  padding:.22rem .65rem;border-radius:20px;pointer-events:none;
  display:flex;align-items:center;gap:.38rem;line-height:1;
  backdrop-filter:blur(10px);
}
.perf-badge::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0}
.perf-badge.badge-ad{background:rgba(0,114,255,.18);border:1px solid rgba(0,198,255,.45);color:#00C6FF}
.perf-badge.badge-ad::before{background:#00C6FF;box-shadow:0 0 7px #00C6FF;animation:badgePulse 2s ease-in-out infinite}
.perf-badge.badge-organic{background:rgba(0,200,100,.14);border:1px solid rgba(46,255,138,.38);color:#2eff8a}
.perf-badge.badge-organic::before{background:#2eff8a;box-shadow:0 0 7px #2eff8a;animation:badgePulse 2.5s ease-in-out infinite}
@keyframes badgePulse{0%,100%{opacity:1}50%{opacity:.3}}

/* Hover overlay */
.work-overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;
  background:linear-gradient(transparent,rgba(6,8,16,.95));transform:translateY(6px);opacity:0;transition:var(--trans);pointer-events:none}
.work-card:hover:not(.playing) .work-overlay{opacity:1;transform:none}
.work-tag{font-family:var(--mono);font-size:.6rem;color:var(--blue0);letter-spacing:2px;text-transform:uppercase;margin-bottom:.2rem}
.work-name{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px}

/* Duration badge */
.work-duration{position:absolute;top:.6rem;right:.6rem;font-family:var(--mono);font-size:.6rem;
  color:#fff;background:rgba(0,0,0,.65);padding:.18rem .45rem;border-radius:3px;letter-spacing:.5px}

/* Preview scrubber */
.work-scrubber{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.08)}
.work-scrubber-fill{height:100%;width:0%;background:var(--grad)}
.work-card.playing .work-scrubber{display:none}

/* Play hint */
.play-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;background:rgba(0,198,255,.15);border:1.5px solid var(--blue0);
  display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--trans);backdrop-filter:blur(6px)}
.work-card:hover:not(.playing) .play-hint{opacity:1}
.work-card.playing .play-hint{display:none}

/* In-place player */
.card-player{position:absolute;bottom:0;left:0;right:0;z-index:5;
  padding:2rem .7rem .65rem;
  background:linear-gradient(transparent,rgba(4,6,14,.98) 45%);
  opacity:0;pointer-events:none;transition:var(--trans)}
.work-card.playing .card-player{opacity:1;pointer-events:all}
.cp-bar{width:100%;height:3px;background:rgba(255,255,255,.15);border-radius:2px;
  cursor:pointer;margin-bottom:.5rem;position:relative}
.cp-fill{height:100%;width:0%;background:var(--grad);border-radius:2px;pointer-events:none}
.cp-thumb{position:absolute;top:50%;width:9px;height:9px;background:#fff;border-radius:50%;
  transform:translate(-50%,-50%);left:0%;pointer-events:none;box-shadow:0 0 5px rgba(0,198,255,.7)}
.cp-row{display:flex;align-items:center;justify-content:space-between}
.cp-left,.cp-right{display:flex;align-items:center;gap:.35rem}
.cp-btn{background:none;border:none;color:#fff;font-size:.8rem;cursor:pointer;
  padding:.2rem .28rem;border-radius:4px;transition:var(--trans);line-height:1;opacity:.8}
.cp-btn:hover{color:var(--blue0);opacity:1;background:rgba(0,198,255,.12)}
.cp-time{font-family:var(--mono);font-size:.58rem;color:var(--muted);letter-spacing:.5px;white-space:nowrap}

/* CONTACT */
.contact-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2.5rem}
.contact-links{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin:0 auto 2.5rem}
.contact-link{display:flex;align-items:center;gap:.7rem;padding:.75rem 1.3rem;border:1px solid var(--glass-border);
  border-radius:10px;color:var(--text);text-decoration:none;font-size:.9rem;transition:var(--trans);width:fit-content;
  background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.contact-link:hover{border-color:var(--blue0);color:var(--blue0);background:rgba(255,255,255,0.06);box-shadow:0 0 16px rgba(0,198,255,.12)}

/* FOOTER */
footer{padding:2.4rem 5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg2);flex-wrap:wrap;gap:1rem}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:4px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.footer-links{display:flex;gap:1.8rem;align-items:center}
.footer-links a{font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--muted);text-decoration:none;letter-spacing:.5px;transition:var(--trans)}
.footer-links a:hover{color:var(--blue0)}
.footer-top{border:1px solid var(--glass-border);padding:.28rem .8rem;border-radius:20px;font-size:.72rem!important;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:var(--trans)}
.footer-top:hover{border-color:var(--blue0)!important;background:rgba(255,255,255,0.06)}
.footer-note{font-family:'DM Sans',sans-serif;font-size:.72rem;color:var(--muted);letter-spacing:.5px}

/* ANIM */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(28px);transition:var(--trans)}
.reveal.visible{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1100px){
  .hero{padding:8rem 2.5rem 5rem}
  .contact-wrap{grid-template-columns:1fr}
  section{padding:5rem 2.5rem}
  .about-block{padding:2.5rem 2.5rem}
}
@media(max-width:768px){
  nav{padding:1rem 1.5rem}.nav-links{display:none}
  /* 2-column grid on tablet */
  .works-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem}
  .about-inner{flex-direction:column;text-align:center}
  footer{flex-direction:column;gap:.8rem;text-align:center;padding:2rem 1.5rem}
  /* Compact hero on mobile */
  .hero{padding:6.5rem 1.5rem 2.5rem;min-height:auto}
  .hero-headline{font-size:clamp(1.8rem,8vw,3rem);line-height:1.15}
  .hero-actions{flex-direction:column;width:100%;padding:0 1rem}
  .hero-actions a{width:100%;text-align:center;padding:.85rem 1.5rem;font-size:.9rem}
  .btn-primary,.btn-ghost{box-sizing:border-box}
  /* Header / nav elements */
  .nav-cta{padding:.5rem 1.2rem;font-size:.78rem}
  .nav-logo{font-size:1.3rem;letter-spacing:2px}
  .rec-badge{font-size:.6rem;letter-spacing:1px}
  /* About + contact + works tighter padding */
  section{padding:4rem 1.5rem}
  .about-block{padding:2rem 1.5rem;margin:1.5rem auto 3rem}
  .about-photo{width:64px;height:64px}
  .contact-wrap{gap:2.5rem}
  .contact-link{font-size:.85rem;padding:.7rem 1.1rem}
  .work-card{aspect-ratio:9/16}
  .works-inner{padding:4rem 1rem 3rem!important}
  .works-inner{padding:4rem 1rem 3rem!important}
  .showMoreBtn{padding-left:2rem!important;padding-right:2rem!important}
}
@media(max-width:480px){
  /* 1-column grid on mobile */
  .works-grid{grid-template-columns:1fr}
}

/* Reduced motion — never leave elements invisible */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-headline,.hl-wrap,.hl-script,.hero-label,.hero-sub,.hero-actions,.reveal{opacity:1!important;transform:none!important}
}
