@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/archivo-black-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/archivo-black-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/space-grotesk-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../assets/fonts/tajawal-arabic-300.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../assets/fonts/tajawal-latin-300.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/tajawal-arabic-400.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/tajawal-latin-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/tajawal-arabic-500.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/tajawal-latin-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/tajawal-arabic-700.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/tajawal-latin-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../assets/fonts/tajawal-arabic-900.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

@font-face {
  font-family: 'Tajawal';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../assets/fonts/tajawal-latin-900.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face{
  font-family:'InkFree';
  src:url(../assets/fonts/inkfree.ttf) format('truetype');
  font-display:swap;
}
:root{
  --bg:#0a0a09;
  --bg-soft:#131210;
  --fg:#f6f2e9;
  --muted:#9b968c;
  --gold:#ffb600;
  --orange:#ee542c;
  --line:rgba(246,242,233,0.14);
  --serif-ar: 'Tajawal', sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);}
body{
  font-family:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  font-weight:300;
  overflow-x:hidden;
  cursor:none;
}
@media (pointer:coarse){ body{cursor:auto;} }
::selection{background:var(--gold);color:#111;}
img{max-width:100%;display:block;}
a{color:inherit;}
.ar{font-family:var(--serif-ar);direction:rtl;unicode-bidi:isolate;}
h1,h2,h3{font-family:'Archivo Black','Arial Black',sans-serif;text-transform:uppercase;line-height:0.95;margin:0;letter-spacing:-0.01em;}
.hand{font-family:'InkFree','Caveat',cursive;}
p{line-height:1.6;margin:0;}
.muted{color:var(--muted);}
.title-img{display:block;margin:0;height:auto;}
.title-layer{display:none;}

.slide.light{
  background:#fdfdfb;
  --fg:#15130f;
  --muted:#6b665c;
  --line:rgba(21,19,15,0.14);
  color:var(--fg);
}
.slide.light #cursor-hint{color:#15130f;}

#cursor-dot,#cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:10002;
  border-radius:50%;transform:translate(-50%,-50%);
  will-change:transform;
}
body.lightbox-open,body.lightbox-open *{cursor:auto !important;}
body.lightbox-open #cursor-dot,body.lightbox-open #cursor-ring{display:none;}
body.lightbox-open #lightbox-close{cursor:pointer !important;}
#cursor-dot{width:6px;height:6px;background:var(--gold);}
#cursor-ring{width:38px;height:38px;border:1.5px solid rgba(255,182,0,0.6);transition:width .25s,height .25s,border-color .25s,background .25s;}
#cursor-ring.big{width:84px;height:84px;background:rgba(255,182,0,0.12);border-color:var(--gold);}
#cursor-ring::after{
  content:attr(data-label);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .2s;font-family:'Space Grotesk';font-weight:600;
}
#cursor-ring.big::after{opacity:1;}
@media (pointer:coarse){ #cursor-dot,#cursor-ring{display:none;} }

.touch-glow{
  position:fixed;width:140px;height:140px;border-radius:50%;top:0;left:0;
  pointer-events:none;z-index:9998;transform:translate(-50%,-50%) scale(0.4);
  background:radial-gradient(circle,rgba(255,182,0,.55) 0%,rgba(255,182,0,.22) 45%,rgba(255,182,0,0) 72%);
  opacity:0;transition:opacity .25s ease,transform .25s ease;mix-blend-mode:screen;
}
.touch-glow.active{opacity:1;transform:translate(-50%,-50%) scale(1);}
@media (pointer:fine){ .touch-glow{display:none;} }

#lightbox{
  position:fixed;inset:0;z-index:10000;background:rgba(6,5,4,.94);
  display:flex;align-items:center;justify-content:center;padding:6vh 5vw;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
#lightbox.open{opacity:1;pointer-events:auto;}
#lightbox img,#lightbox video{max-width:100%;max-height:88vh;object-fit:contain;border-radius:4px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);
  transform:scale(.96);transition:transform .3s ease;}
#lightbox.open img,#lightbox.open video{transform:scale(1);}
#lightbox-close{
  position:absolute;top:4vh;right:5vw;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#f6f2e9;
  font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s,border-color .2s;
}
#lightbox-close:hover{background:rgba(255,182,0,.18);border-color:var(--gold);}
#lightbox-prev,#lightbox-next{
  position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#f6f2e9;
  font-size:26px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;
  transition:background .2s,border-color .2s;z-index:2;
}
#lightbox-prev:hover,#lightbox-next:hover{background:rgba(255,182,0,.18);border-color:var(--gold);}
#lightbox-prev{left:3vw;}
#lightbox-next{right:3vw;}
#lightbox.has-nav #lightbox-prev,#lightbox.has-nav #lightbox-next{display:flex;}
#lightbox-counter{
  position:absolute;bottom:3vh;left:0;right:0;text-align:center;color:var(--muted);
  font-size:.78rem;letter-spacing:.06em;display:none;
}
#lightbox.has-nav #lightbox-counter{display:block;}
#lightbox-content .vimeo-embed{position:relative;width:min(80vw,520px);}
#lightbox-content .vimeo-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border-radius:4px;}
#lightbox.has-nav #lightbox-content{touch-action:pan-y;cursor:grab;transition:transform .25s ease;}
#lightbox-content.dragging{transition:none;cursor:grabbing;}
#lightbox-content.dragging img,#lightbox-content.dragging video{pointer-events:none;}
.imgwrap img[data-hover],.gallery .imgwrap img,.imgwrap video,.gallery .imgwrap video{cursor:zoom-in;}
@media (pointer:coarse){
  #lightbox-close{width:40px;height:40px;top:3vh;right:5vw;}
  #lightbox-prev,#lightbox-next{width:40px;height:40px;font-size:22px;}
}

#progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:200;width:0%;transition:width .1s linear;}
#dotnav{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:150;display:flex;flex-direction:column;gap:14px;}
#dotnav button{width:8px;height:8px;border-radius:50%;border:1px solid var(--muted);background:transparent;padding:0;cursor:pointer;transition:all .3s;}
#dotnav button.active{background:var(--gold);border-color:var(--gold);transform:scale(1.4);}
@media (max-width:760px){ #dotnav{display:none;} }

#brandmark{position:fixed;left:22px;top:22px;z-index:150;font-family:'Archivo Black';font-size:13px;letter-spacing:.05em;mix-blend-mode:difference;}
#scrollhint{position:fixed;left:22px;bottom:22px;z-index:150;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);mix-blend-mode:difference;display:flex;align-items:center;gap:8px;}
#scrollhint .bar{width:1px;height:26px;background:var(--muted);position:relative;overflow:hidden;}
#scrollhint .bar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--gold);animation:scrolldrip 1.8s infinite;}
@keyframes scrolldrip{0%{top:-100%;}100%{top:100%;}}
@media (max-width:760px){ #brandmark,#scrollhint{display:none;} }

main.slides{height:100vh;height:100svh;overflow-y:scroll;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;}
.slide{
  height:100vh;height:100svh;
  scroll-snap-align:start;scroll-snap-stop:always;
  position:relative;display:flex;flex-direction:column;justify-content:center;
  padding:6.5vh 7vw;overflow:hidden;border-bottom:1px solid var(--line);
}
.slide-inner{
  position:relative;z-index:2;width:100%;
  max-height:100%;overflow:visible;
  scrollbar-width:none;-ms-overflow-style:none;
}
.slide-inner::-webkit-scrollbar{display:none;}
.slide-tag{position:absolute;top:5vh;left:7vw;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);z-index:3;}
.slide-num{position:absolute;top:5vh;right:7vw;font-size:12px;color:var(--muted);z-index:3;font-variant-numeric:tabular-nums;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.08s;}
.reveal-d2{transition-delay:.16s;}
.reveal-d3{transition-delay:.24s;}
.reveal-d4{transition-delay:.32s;}

#hero{background:#000;}
#hero .band{
  position:absolute;left:0;right:0;top:38%;height:26%;
  background-size:cover;background-position:center;filter:grayscale(35%) brightness(.6);
  will-change:transform;
}
#hero .titles{position:relative;z-index:3;text-align:center;}
#hero .titles img{width:min(80vw,640px);margin:0 auto;}
#hero .sub{margin-top:2.2rem;font-size:clamp(.95rem,1.6vw,1.3rem);letter-spacing:.04em;color:var(--fg);}
#hero .sub span{color:var(--muted);padding:0 .5em;}
#hero .loc{margin-top:.6rem;color:var(--fg);font-size:.95rem;}
#hero .tagrow{position:absolute;bottom:8vh;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:0 7vw;z-index:3;}
#hero .hand{font-size:1.8rem;color:var(--fg);transform:rotate(-3deg);display:inline-block;}
#hero .year{height:2.1rem;width:auto;transform:rotate(4deg);display:inline-block;}

#about{background:#000;}
#about .photo-panel{position:absolute;top:16%;right:0;bottom:0;width:38%;z-index:1;overflow:hidden;}
#about .photo-panel img{
  width:100%;height:100%;object-fit:contain;object-position:right bottom;display:block;
  -webkit-mask-image:linear-gradient(115deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 6%,rgba(0,0,0,1) 26%);
  mask-image:linear-gradient(115deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 6%,rgba(0,0,0,1) 26%);
}
#about .photo-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,0) 24%);}
#about .slide-inner{position:static;}
#about .about-content{max-width:50%;}
#about .about-intro,#about .about-cols{position:relative;z-index:2;}
#about .about-intro{text-align:center;max-width:460px;margin:0 auto;}
#about .about-intro .eyebrow{display:block;}
#about .title-img{width:min(70vw,420px);margin:.4rem auto 0;}
#about .about-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-top:2rem;text-align:left;}
#about .bio p{margin-bottom:1rem;}
#about .bio .ar{color:var(--muted);font-size:.95rem;margin-top:.3rem;}
#about .about-side .contact{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;}
#about .about-side .contact a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s,color .25s;}
#about .about-side .contact a:hover{border-color:var(--gold);color:var(--gold);}
#about .about-side .socials{margin-top:1.2rem;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:var(--muted);}
@media (max-width:820px){
  #about{padding-top:6.5vh;}
  #about .about-content{position:relative;}
  #about .about-intro{position:static;}
  #about .about-intro .eyebrow{margin-bottom:.5rem;}
  #about .title-img{display:none;}
  #about .title-layer{display:block;position:absolute;left:50%;transform:translateX(-50%);width:92vw;max-width:none;margin:0;pointer-events:none;
    top:calc(22px + min(55vw,206px) * 1.3333 - 16.87vw);}
  #about .title-en{z-index:1;}
  #about .title-ar{z-index:3;}
  #about .photo-panel{position:relative;z-index:2;width:min(55vw,206px);height:auto;aspect-ratio:3/4;margin:.15rem auto calc(13.8vw + 14px);overflow:visible;border-radius:0;
    -webkit-mask-image:radial-gradient(ellipse 62% 70% at 50% 40%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%);
    mask-image:radial-gradient(ellipse 62% 70% at 50% 40%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%);}
  #about .photo-panel img{width:100%;height:100%;object-fit:cover;object-position:center 12%;-webkit-mask-image:none;mask-image:none;}
  #about .photo-panel::after{display:none;}
  #about .about-content{max-width:100%;}
  #about .about-cols{grid-template-columns:1fr;text-align:center;gap:1.6rem;}
  #about .about-side .socials{align-items:center;}
}

#industries .title-img{width:min(78vw,620px);margin:0 auto;}
#tools .title-img{width:min(60vw,460px);}
#industries .copy,#tools .copy{max-width:46ch;margin-top:2.2rem;}
#industries .copy p, #tools .copy p{margin-bottom:.8rem;}
#industries .slide-inner{display:flex;flex-direction:column;align-items:center;text-align:center;}
#industries .copy{margin-left:auto;margin-right:auto;}
#tools{background:#000;}
#tools .layout{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;}
#tools .toollist{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2rem;align-items:center;}
#tools .toollist a{
  display:flex;align-items:center;gap:.5rem;text-decoration:none;font-size:.95rem;letter-spacing:.02em;
  color:var(--fg);opacity:.88;transition:opacity .25s,transform .25s;
}
#tools .toollist a:hover{opacity:1;color:var(--gold);transform:translateY(-2px);}
#tools .toollist a img{height:36px;width:auto;flex:0 0 auto;object-fit:contain;}
@media (max-width:820px){ #tools .layout{grid-template-columns:1fr;} }
@media (max-width:600px){
  #tools .toollist{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 1rem;margin-top:1.6rem;justify-items:center;text-align:center;}
  #tools .toollist a{font-size:.88rem;flex-direction:column;justify-content:center;}
  #tools .toollist a img{height:30px;}
}

#projects-intro .slide-inner{display:flex;flex-direction:column;align-items:center;text-align:center;}
#projects-intro .title-img{width:min(70vw,520px);margin:0 auto;}
#projects-intro .copy{max-width:46ch;margin:1.6rem auto 0;}
#projects-intro .copy p{margin-bottom:.6rem;}

.project .headline{max-width:20ch;font-size:clamp(1.7rem,4vw,2.7rem);}
.project .desc{max-width:44ch;margin-top:1rem;}
.project .desc p{margin-bottom:.5rem;font-size:.92rem;}
.project .meta-row{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.6rem;}
.project .meta-row .chip{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-left:2px solid var(--gold);padding-left:.6rem;}
.project .top{display:grid;grid-template-columns:1fr 1fr;gap:3vw;align-items:center;margin-bottom:1.6rem;}
.project .top .imgwrap{aspect-ratio:16/10;}
.project .top .imgwrap img,.project .top .imgwrap video{width:100%;height:100%;object-fit:cover;}
#p-sports .top .imgwrap{aspect-ratio:3/4;max-width:380px;margin-left:auto;margin-right:auto;}
@media (max-width:900px){
  .project .top{grid-template-columns:1fr;gap:1.6rem;}
  .project .top>*:first-child{order:2;}
  .project .top>*:last-child{order:1;}
}
@media (max-width:600px){
  .slide{padding:8.5vh 6vw 4vh;}
  .slide-tag,.slide-num{font-size:10px;}
  .project .headline{font-size:clamp(1.5rem,6vw,2rem);max-width:100%;}
  .project .desc{margin-top:1rem;}
  .project .desc p{line-height:1.65;}
  .project .meta-row{gap:.9rem 1.2rem;margin-top:1.3rem;}
  .project .hand{margin-top:1.6rem;}
  .gallery{gap:.85rem;}
  .gallery .card{width:min(42vw,150px);}
  #about .about-cols,#industries .copy,#projects-intro .copy,#tools .copy{font-size:.96rem;}
}

.palette{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem;}
.palette .sw{width:64px;}
.palette .sw .chip-color{height:64px;border-radius:6px;border:1px solid var(--line);}
.palette .sw span{display:block;font-size:.6rem;color:var(--muted);margin-top:.3rem;text-align:center;letter-spacing:.02em;}

.gallery{display:flex;gap:1.1rem;overflow-x:auto;overflow-y:hidden;padding:.5rem .1rem 1.4rem;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;cursor:grab;touch-action:pan-x;}
.gallery:active{cursor:grabbing;}
.gallery::-webkit-scrollbar{height:5px;}
.gallery::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
.gallery .card{flex:0 0 auto;scroll-snap-align:start;width:min(40vw,168px);perspective:800px;}
.gallery.wide .card{width:min(56vw,260px);}
.gallery .card .imgwrap{overflow:hidden;border-radius:8px;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;will-change:transform;background:#111;}
.gallery .card .imgwrap img,.gallery .card .imgwrap video{transition:transform .5s ease;width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;}
.gallery .card .cap{font-size:.7rem;}
.gallery .card:hover .imgwrap{box-shadow:0 20px 45px -12px rgba(255,182,0,.35);}
.gallery .card:hover .imgwrap img,.gallery .card:hover .imgwrap video{transform:scale(1.06);}
.gallery .card .cap{margin-top:.6rem;font-size:.78rem;color:var(--muted);letter-spacing:.02em;}

.ig-frame{max-width:420px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#000;}
.ig-note{font-size:.78rem;letter-spacing:.02em;color:var(--muted);text-align:center;margin-bottom:.6rem;}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-height:64vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;}
.ig-grid::-webkit-scrollbar{width:5px;}
.ig-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
.ig-post{position:relative;aspect-ratio:1;overflow:hidden;background:#111;}
.project .top .ig-frame .ig-post .imgwrap{width:100%;height:100%;aspect-ratio:1;}
.project .top .ig-frame .ig-post .imgwrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;cursor:zoom-in;}
.ig-post:hover .imgwrap img{transform:scale(1.05);}
.ig-post .ig-badge{position:absolute;top:.5rem;right:.5rem;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.7));}
.ig-post .ig-badge svg{width:15px;height:15px;display:block;}
@media (max-width:820px){ .ig-frame{max-width:100%;} }

.btn{
  display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--fg);padding:.85rem 1.6rem;border-radius:999px;
  text-decoration:none;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;position:relative;overflow:hidden;
  transition:color .3s,border-color .3s;
}
.btn::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:-1;border-radius:999px;}
.btn:hover{color:#111;border-color:var(--gold);}
.btn:hover::before{transform:translateY(0);}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}
.btn-whatsapp{border-color:#25D366;color:#25D366;}
.btn-whatsapp::before{background:#25D366;}
.btn-whatsapp:hover{color:#111;border-color:#25D366;}

#thanks{background:#000;text-align:center;}
#thanks .slide-inner{display:flex;flex-direction:column;align-items:center;}
#thanks .title-img{width:min(70vw,540px);margin:0 auto;}
#thanks .contact{margin-top:3rem;display:flex;flex-direction:column;gap:.6rem;align-items:center;}
#thanks .foot{position:absolute;bottom:5vh;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 7vw;font-size:.8rem;color:var(--muted);}
#thanks .foot img{height:22px;width:auto;display:block;}

@media (max-width:600px){
  #hero .sub{font-size:min(.95rem,3.2vw);letter-spacing:0;white-space:nowrap;}
  #hero .sub span{padding:0 .28em;}
}

@media (max-width:820px){

  .slide{height:auto;min-height:100svh;}
  .slide-inner{max-height:none;overflow:visible;}

}

@media (max-width:820px){

  .project .top .imgwrap{max-height:23svh;}
  #p-sports .top .imgwrap{max-height:27svh;max-width:none;}
  .project .top .imgwrap img,
  .project .top .imgwrap video{height:100%;object-fit:cover;}

  .gallery{gap:.7rem;padding-bottom:.8rem;}
  .gallery .card{width:min(32vw,112px);}
  .gallery.wide .card{width:min(44vw,168px);}
  .gallery .card .cap{font-size:.66rem;margin-top:.35rem;}

  .palette{gap:.4rem;margin-top:1rem;}
  .palette .sw{width:42px;}
  .palette .sw .chip-color{height:42px;}
  .palette .sw span{font-size:.55rem;}

  .ig-grid{max-height:50svh;}
  .ig-note{font-size:.7rem;margin-bottom:.4rem;}

  .project .headline{font-size:clamp(1.3rem,5vw,1.7rem);}
  .project .desc{margin-top:.7rem;}
  .project .desc p{font-size:.86rem;}
  .project .top{gap:1rem;margin-bottom:1rem;}
  .project .hand{font-size:1.05rem !important;margin-bottom:.35rem !important;}
  .project .meta-row{margin-top:.9rem;}

  #about .about-cols{margin-top:.9rem;gap:.85rem;}
  #about .bio p{margin-bottom:.55rem;line-height:1.5;}
  #about .bio .ar{font-size:.88rem;}
  #about .about-side .contact{gap:.3rem;font-size:.9rem;}
  #about .about-side .socials{margin-top:.7rem;gap:.3rem;}
  #about .title-img{width:min(50vw,262px);}
}

@media (max-height:500px) and (orientation:landscape){
  main.slides{scroll-snap-type:none;}
  .slide{min-height:0;height:auto;padding:6vh 6vw;}
  .slide-tag,.slide-num{position:static;display:inline-block;margin-bottom:.5rem;}
}

@media (min-width:821px) and (max-height:770px){
  .project .top .imgwrap{max-height:42vh;}
  #p-sports .top .imgwrap{max-height:46vh;}
  .gallery .card{width:min(40vw,148px);}
}
@media (min-width:821px) and (max-height:700px){
  .project .top .imgwrap{max-height:37vh;}
  #p-sports .top .imgwrap{max-height:39vh;}
  .gallery .card{width:min(40vw,120px);}
  .gallery{padding-bottom:.7rem;}
  .project .top{margin-bottom:.7rem;}
  .project .headline{font-size:clamp(1.4rem,2.8vw,2rem);}
  #about .about-cols{gap:1.3rem;margin-top:1.3rem;}
  #about .title-img{width:min(56vw,300px);}
  #about .bio p{margin-bottom:.7rem;}
  #about .about-side .socials{margin-top:.9rem;}
}

@media (min-width:601px) and (max-width:820px){
  #about .about-content{max-width:480px;margin-left:auto;margin-right:auto;}
}

.text-center{text-align:center;}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;display:block;}
