:root{
  --ink:#0b1440;          /* deep navy (card back, darkest) */
  --ink-2:#121d55;
  --royal:#2347e0;        /* card blue */
  --needle:#d9e534;       /* chartreuse needle */
  --rose:#e3262c;         /* card red, used sparingly */
  --paper:#f6f3ec;
  --paper-2:#ece7dc;
  --text:#141a33;
  --muted:#5b6078;
  --line:rgba(20,26,51,.14);
  --light:#eef0fb;
  --light-muted:rgba(238,240,251,.68);
  --serif:"DM Serif Display",Georgia,serif;
  --sans:"Manrope",system-ui,sans-serif;
  --ar:"Amiri","Tajawal",serif;
  --pad:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--paper);color:var(--text);font:400 17px/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
video{object-fit:cover;width:100%;height:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[lang="ar"]{font-family:var(--ar)}
.wrap{width:min(1320px,100%);margin:0 auto;padding:0 var(--pad)}
.kicker{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--royal);display:flex;align-items:center;gap:12px;margin-bottom:22px}
.kicker::before{content:"";width:28px;height:0;border-top:2px dashed currentColor}
.kicker-light{color:var(--needle)}
.sec-title{font:400 clamp(40px,min(6vw,9vh),92px)/1 var(--serif);letter-spacing:-.01em}
.sec-title span[lang="ar"]{font-size:.55em;color:var(--needle);margin-left:.3em;vertical-align:.15em}
.paper{background:var(--paper)}
.dark{background:var(--ink);color:var(--light)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:999px;font:600 15px/1 var(--sans);transition:transform .4s var(--ease),background .3s,color .3s;white-space:nowrap}
.btn svg{width:20px;height:20px}
.btn:hover{transform:translateY(-2px)}
.btn-needle{background:var(--needle);color:var(--ink)}
.btn-needle:hover{background:#fff}
.btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-wa{background:var(--royal);color:#fff}
.btn-wa:hover{background:var(--ink)}
.btn-full{width:100%;height:58px;font-size:16px}

/* loader */
.loader{position:fixed;inset:0;z-index:100;background:var(--ink);display:grid;place-items:center;align-content:center;gap:26px;color:#fff;transition:opacity .7s,visibility .7s}
.loader.done{opacity:0;visibility:hidden}
.loader-mark{width:84px;height:84px}
.loader-thread{width:160px;height:2px;background:rgba(255,255,255,.15);overflow:hidden}
.loader-thread span{display:block;height:100%;width:100%;background:var(--needle);transform-origin:left;animation:thr 1.2s var(--ease) forwards}
@keyframes thr{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* logo pieces */
.loader-mark{animation:lgp 1.6s var(--ease) both}
@keyframes lgp{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:28px;padding:16px var(--pad);transition:background .4s,color .4s,padding .4s,box-shadow .4s;color:var(--ink)}
.nav.solid{background:rgba(246,243,236,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:10px;padding-bottom:10px;box-shadow:0 1px 0 var(--line)}
.nav.on-dark:not(.solid){color:#fff}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand-mark{width:44px;height:44px;--lg-a:var(--rose);--lg-n:var(--ink)}
.nav.on-dark:not(.solid) .brand-mark,body.menu-open .brand-mark,.foot .brand-mark,.loader-mark{--lg-a:#fff;--lg-n:var(--needle)}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
.brand-txt b{font:400 21px/1 var(--serif)}
.brand-txt small{font:600 10px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.nav-links{display:flex;gap:30px;font:500 14px/1 var(--sans)}
.nav-links a{position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;border-top:1.5px dashed currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{height:44px;padding:0 20px;font-size:14px}
.nav-burger{display:none;width:44px;height:44px;position:relative}
.nav-burger span{position:absolute;left:11px;right:11px;height:2px;background:currentColor;transition:transform .4s var(--ease)}
.nav-burger span:first-child{top:17px}.nav-burger span:last-child{top:25px}
.nav-burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:45;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:90px var(--pad) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease)}
.menu.open{clip-path:inset(0 0 0 0)}
.menu a{font:400 44px/1.25 var(--serif)}
.menu-ar{margin-top:30px;font-size:22px;color:var(--needle)}
body.menu-open .nav{color:#fff;background:transparent;box-shadow:none}

/* hero */
.hero{height:240vh;position:relative}
.hero-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.hero-ar{position:absolute;top:calc(72px + 1vh);left:0;right:0;text-align:center;font-size:clamp(20px,2.4vw,30px);color:var(--royal);z-index:3}
.hero-word{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);pointer-events:none;z-index:1}
.hw{font:400 clamp(56px,min(10vw,21vh),190px)/.9 var(--serif);color:var(--ink);letter-spacing:-.02em;will-change:transform}
.hw-r{font-style:italic;color:var(--royal)}
.eye{position:relative;z-index:2;width:min(18vw,26vh);height:min(54vh,540px);border-radius:999px;overflow:hidden;background:var(--ink);will-change:width,height,border-radius}
.eye-vid{position:absolute;inset:0}
.eye-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,64,.35),rgba(11,20,64,.15) 40%,rgba(11,20,64,.85));opacity:0}
.eye-copy{position:absolute;left:0;right:0;bottom:0;padding:0 var(--pad) clamp(40px,9vh,96px);color:#fff;opacity:0;visibility:hidden}
.eye-copy .kicker{color:var(--needle)}
.eye-copy h2{font:400 clamp(48px,min(8vw,13vh),132px)/.95 var(--serif);max-width:12ch}
.eye-copy em{color:var(--needle)}
.eye-sub{max-width:520px;margin:20px 0 28px;color:rgba(255,255,255,.82);font-size:clamp(16px,1.25vw,19px)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero-foot{position:absolute;left:0;right:0;bottom:22px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad);font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);z-index:3}
.hero-scroll{display:flex;align-items:center;gap:10px}
.hero-scroll i{width:1px;height:34px;background:var(--line);position:relative;overflow:hidden}
.hero-scroll i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--royal);animation:drip 1.8s infinite}
@keyframes drip{to{top:100%}}

/* marquee */
.marquee{background:var(--royal);color:#fff;overflow:hidden;padding:20px 0;border-top:1px dashed rgba(255,255,255,.3);border-bottom:1px dashed rgba(255,255,255,.3)}
.mq-track{display:flex;gap:38px;width:max-content;animation:mq 36s linear infinite;align-items:center}
.mq-track span{font:400 clamp(26px,3vw,40px)/1 var(--serif)}
.mq-track b{font:400 clamp(24px,2.6vw,36px)/1 var(--ar);color:var(--needle)}
@keyframes mq{to{transform:translateX(-50%)}}

/* stitch rule */
.stitch{height:0;border-top:2px dashed var(--royal);margin:34px 0;transform-origin:left;width:120px}

/* intro */
.intro{padding:clamp(90px,14vh,160px) 0}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,7vw,110px);align-items:center}
.intro-big{font:400 clamp(32px,3.7vw,58px)/1.12 var(--serif);color:var(--ink)}
.intro-body{max-width:580px;color:var(--muted);font-size:18px}
.facts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;border-top:1px solid var(--line);padding-top:26px}
.facts b{display:block;font:400 21px/1.2 var(--serif);color:var(--ink);margin-bottom:6px}
.facts span{font-size:14px;color:var(--muted);line-height:1.45;display:block}
.intro-media{margin:0}
.arch{aspect-ratio:3/4;border-radius:999px 999px 18px 18px;overflow:hidden;background:var(--paper-2)}
.intro-media figcaption{margin-top:14px;font-size:13px;color:var(--muted);text-align:center}

/* services */
.services{padding:clamp(90px,14vh,150px) 0}
.sec-head{margin-bottom:clamp(40px,7vh,70px)}
.svc{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:start}
.svc-list{list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.svc-item{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:baseline;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.14);cursor:pointer;transition:padding .5s var(--ease)}
.svc-n{font:600 13px/1 var(--sans);color:var(--light-muted);letter-spacing:.1em}
.svc-item h3{font:400 clamp(26px,2.6vw,38px)/1.1 var(--serif);transition:color .3s}
.svc-item p{color:var(--light-muted);max-width:480px;max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease),opacity .4s,margin .5s;font-size:16px}
.svc-ar{font-size:24px;color:rgba(238,240,251,.35);transition:color .3s}
.svc-item.is-on{padding-left:14px}
.svc-item.is-on h3{color:var(--needle)}
.svc-item.is-on p{max-height:140px;opacity:1;margin-top:10px}
.svc-item.is-on .svc-ar{color:var(--needle)}
.svc-item.is-on .svc-n{color:var(--needle)}
.svc-stage{position:sticky;top:110px;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:var(--ink-2)}
.svc-stage video{transition:opacity .35s}
.svc-stage.swap video{opacity:.2}
.svc-stage-tag{position:absolute;left:18px;bottom:18px;background:rgba(11,20,64,.7);backdrop-filter:blur(8px);padding:9px 14px;border-radius:999px;font:600 12px/1 var(--sans);letter-spacing:.12em}
.svc-stage-tag span{color:var(--needle)}
.svc-inline{display:none}

/* process */
.process{overflow:hidden}
.proc-pin{height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4vh,48px);padding:clamp(80px,11vh,110px) 0 clamp(24px,4vh,40px)}
.proc-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px 40px;width:100%}
.proc-head .kicker{grid-column:1/-1;margin-bottom:0}
.proc-bar{width:200px;height:2px;background:var(--line);margin-bottom:14px}
.proc-bar span{display:block;height:100%;background:var(--royal);transform:scaleX(0);transform-origin:left}
.proc-track{display:flex;gap:clamp(18px,2vw,30px);padding:0 var(--pad);width:max-content;will-change:transform}
.step{width:clamp(270px,min(27vw,44vh),400px);flex:none}
.step-media{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--paper-2);margin-bottom:18px}
.step-n{font:600 12px/1 var(--sans);color:var(--royal);letter-spacing:.14em}
.step h3{font:400 clamp(26px,2.2vw,34px)/1.1 var(--serif);margin:8px 0 8px;color:var(--ink)}
.step p{color:var(--muted);font-size:15px;line-height:1.55}
.step:nth-child(even){margin-top:clamp(20px,6vh,60px)}

/* embroidery */
.embro{position:relative;color:#fff;padding:clamp(100px,16vh,170px) 0;overflow:hidden;background:var(--royal)}
.embro-bg{position:absolute;inset:0}
.embro-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,20,64,.88) 0%,rgba(11,20,64,.55) 55%,rgba(11,20,64,.25))}
.embro-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.embro-title{font:400 clamp(64px,min(9vw,15vh),150px)/.9 var(--serif);display:flex;flex-direction:column;margin-bottom:26px}
.embro-ar{font-family:var(--ar);color:var(--needle);font-size:.62em;line-height:1.3}
.embro-body{max-width:500px;color:rgba(255,255,255,.85);font-size:18px}
.embro-list{list-style:none;margin:28px 0 36px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;max-width:520px}
.embro-list li{display:flex;align-items:center;gap:12px;font-size:15.5px;font-weight:500}
.embro-list li::before{content:"";width:18px;border-top:2px dashed var(--needle);flex:none}
.embro-pair{position:relative;height:clamp(420px,70vh,640px)}
.ep{position:absolute;margin:0;overflow:hidden;border-radius:999px 999px 16px 16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.ep-1{width:58%;height:82%;left:0;top:0}
.ep-2{width:48%;height:62%;right:0;bottom:0;border:6px solid var(--paper)}

/* order */
.order{padding:clamp(90px,14vh,150px) 0}
.order-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:start}
.order-copy p{color:var(--muted);max-width:440px;margin-top:22px}
.order-copy .sec-title{color:var(--ink);font-size:clamp(40px,min(5vw,8vh),76px)}
.order-alt a{color:var(--royal);font-weight:600;border-bottom:1.5px dashed currentColor}
.form{background:#fff;border-radius:24px;padding:clamp(24px,3vw,40px);box-shadow:0 1px 0 var(--line),0 30px 70px -40px rgba(11,20,64,.35);display:flex;flex-direction:column;gap:22px}
.form fieldset{border:0}
.form legend,.form label{font:600 13px/1 var(--sans);letter-spacing:.04em;color:var(--ink);margin-bottom:12px;display:block}
.form label{display:flex;flex-direction:column;gap:10px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{height:42px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);font:500 14.5px/1 var(--sans);transition:all .25s}
.chip:hover{border-color:var(--royal)}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form input,.form textarea{font:400 16px/1.4 var(--sans);color:var(--text);border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--paper);width:100%;outline:none;transition:border-color .2s;resize:vertical}
.form input:focus,.form textarea:focus{border-color:var(--royal)}

/* visit */
.visit{padding:clamp(90px,14vh,150px) 0}
.visit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:stretch}
.visit-sub{color:var(--light-muted);margin:20px 0 28px;max-width:420px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:44px 0 22px}
.person{border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:4px;transition:border-color .3s,background .3s}
.person:hover{border-color:var(--needle);background:rgba(255,255,255,.04)}
.person small{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--light-muted)}
.person b{font:400 28px/1.2 var(--serif);margin-top:6px}
.person span{color:var(--needle);font-weight:600;font-size:17px}
.mail{color:var(--light-muted);border-bottom:1px dashed rgba(255,255,255,.3);font-size:15px;word-break:break-all}
.map{border-radius:22px;overflow:hidden;min-height:420px;background:var(--ink-2)}
.map iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(.3) contrast(1.05)}

/* footer */
.foot{background:var(--ink);color:var(--light);padding:70px 0 28px;border-top:1px dashed rgba(255,255,255,.18);overflow:hidden}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot-brand{display:flex;align-items:center;gap:16px;color:#fff}
.foot-brand .brand-mark{width:62px;height:62px}
.foot-brand p{font-size:22px}
.foot-cols{display:flex;gap:clamp(30px,5vw,70px);flex-wrap:wrap}
.foot-cols div{display:flex;flex-direction:column;gap:6px}
.foot-cols small{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--light-muted);margin-bottom:6px}
.foot-cols a{font-size:15px}
.foot-cols a:hover{color:var(--needle)}
.foot-word{display:flex;justify-content:space-between;font:400 clamp(56px,11.5vw,200px)/.9 var(--serif);margin:60px 0 26px;letter-spacing:-.02em;color:#fff}
.foot-word span:last-child{font-style:italic;color:var(--royal)}
.foot-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:var(--light-muted);border-top:1px solid rgba(255,255,255,.12);padding-top:22px}

/* fab */
.fab{position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.4);transform:scale(0);transition:transform .5s var(--ease)}
.fab.show{transform:scale(1)}
.fab svg{width:28px;height:28px}

/* responsive */
@media (max-width:1024px){
  .nav-links{display:none}
  .svc{grid-template-columns:1fr}
  .svc-stage{display:none}
  .svc-inline{display:block;aspect-ratio:16/10;border-radius:14px;overflow:hidden;margin-top:16px;max-height:0;opacity:0;transition:max-height .6s var(--ease),opacity .4s}
  .svc-item.is-on .svc-inline{max-height:400px;opacity:1}
  .svc-item{grid-template-columns:40px 1fr auto}
}
@media (max-width:860px){
  body{font-size:16px}
  .nav-cta{display:none}
  .nav-burger{display:block}
  .hero{height:200vh}
  .hero-word{flex-direction:column;justify-content:center;gap:min(64vh,520px)}
  .hw{font-size:clamp(54px,17vw,110px)}
  .hero-ar{top:76px;font-size:19px}
  .eye{width:min(34vw,170px);height:min(46vh,380px)}
  .hero-foot span:first-child,.hero-foot span:last-child{display:none}
  .hero-foot{justify-content:center}
  .eye-copy h2{font-size:clamp(44px,12vw,64px)}
  .intro-grid,.embro-grid,.order-grid,.visit-grid{grid-template-columns:1fr}
  .intro-media{max-width:420px;margin:0 auto;width:100%}
  .facts{grid-template-columns:1fr;gap:16px}
  .embro-pair{height:440px}
  .embro-title{font-size:clamp(46px,14vw,64px)}
  .embro-list{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .people{grid-template-columns:1fr 1fr}
  .map,.map iframe{min-height:340px}
  .proc-head{grid-template-columns:1fr}
  .proc-bar{display:none}
  .step{width:min(76vw,320px)}
  .step:nth-child(even){margin-top:0}
  .step-media{aspect-ratio:1/1}
  .foot-word{flex-direction:column}
  .foot-word span:last-child{align-self:flex-end}
  .fab{width:54px;height:54px}
}
@media (max-width:420px){
  .people{grid-template-columns:1fr}
  .brand-txt small{display:none}
}
@media (prefers-reduced-motion:reduce){
  .mq-track,.hero-scroll i::after{animation:none}
}
