.lang-switch{color:#3d434c;min-width:44px;min-height:44px;transition:background var(--motion-fast), color var(--motion-fast);border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:.9rem;font-weight:600;display:inline-flex}.lang-switch:hover{color:var(--ink);background:#0b0e140a}.lang-switch[lang=ar]{font-family:"IBM Plex Sans Arabic", var(--font-inter);font-size:.95rem}.lang-switch[lang=en]{font-family:var(--font-inter)}:root{--paper:#f6f5f1;--paper-2:#edece6;--white:#fff;--ink:#0b0e14;--navy:#060a17;--navy-2:#0c1329;--navy-3:#131c3a;--blue:#2448ec;--blue-hover:#1a36c6;--blue-soft:#e6ebff;--blue-light:#93a8ff;--c-bg:var(--paper);--c-bg-2:var(--paper-2);--c-surface:var(--white);--c-text:var(--ink);--c-text-dim:#4b515b;--c-text-faint:#656b75;--c-muted:#878c94;--c-border:#e1e0d9;--c-border-strong:#c4c3ba;--c-primary:var(--blue);--c-success:#1f6a43;--c-error:#a3203a;--accent-surface:var(--blue-soft);--button-bg:var(--blue);--button-hover:var(--blue-hover);--radius-sm:10px;--radius:18px;--radius-lg:28px;--shadow-soft:0 1px 2px #0b0e140a, 0 12px 32px -12px #0b0e1424;--shadow-lift:0 2px 4px #0b0e140d, 0 30px 60px -24px #10204a40;--font-head:var(--font-jakarta);--font-body:var(--font-inter);--ease-out:cubic-bezier(.16, 1, .3, 1);--space-section:clamp(80px, 10vw, 148px);--maxw:1320px;--nav-h:84px;--motion-fast:.18s}.is-dark{--c-bg:var(--navy);--c-bg-2:var(--navy-2);--c-surface:var(--navy-2);--c-text:#f2f4fa;--c-text-dim:#aab3c7;--c-text-faint:#8f98ae;--c-muted:#66729a;--c-border:#1c2645;--c-border-strong:#33406a;--c-primary:var(--blue-light);--c-success:#8dd8b3;--c-error:#ffb1b1;--accent-surface:#141e42;background:var(--c-bg);color:var(--c-text)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 24px)}html.lenis{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-stopped{overflow:clip}body{font-family:var(--font-body);background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-width:320px;line-height:1.65;overflow-x:clip}img,video{max-width:100%;display:block}:where(img){aspect-ratio:var(--ar)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}ul,ol{list-style:none}::selection{background:var(--blue);color:#fff}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.035em;word-spacing:.05em;text-wrap:balance;font-weight:800;line-height:1.04}h1{font-size:clamp(3rem,7vw,6.4rem)}h2{font-size:clamp(2.4rem,5vw,4.4rem)}h3{letter-spacing:-.02em;word-spacing:.02em;font-size:1.4rem;font-weight:700;line-height:1.2}p{text-wrap:pretty}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--c-primary);outline-offset:4px;border-radius:4px}main:focus{outline:none}section,article[id]{scroll-margin-top:calc(var(--nav-h) + 24px)}.container{width:min(100%, var(--maxw));margin-inline:auto;padding-inline:40px}section{padding-block:var(--space-section);position:relative}.section-tight{padding-top:32px}.eyebrow{font:600 .74rem/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-primary);align-items:center;gap:10px;margin-bottom:22px;display:inline-flex}.eyebrow:before{content:"";width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 18%, transparent);background:currentColor;border-radius:50%;flex-shrink:0}.eyebrow i{display:none}.accent-text,.gradient-text{color:var(--c-primary)}.muted{color:var(--c-muted)}.skip-link{border:2px solid var(--blue);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);z-index:10001;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{min-height:50px;font:600 .92rem/1.2 var(--font-body);letter-spacing:-.01em;text-align:center;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), box-shadow .3s var(--ease-out);will-change:transform;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:14px;padding:14px 26px;display:inline-flex;position:relative}.btn>span[aria-hidden]{transition:transform .3s var(--ease-out);display:inline-block}.btn:hover>span[aria-hidden]{transform:translate(2px,-2px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px -10px #2448ecaa}.btn-primary:hover{background:var(--blue-hover);box-shadow:0 16px 36px -12px #2448ecbb}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#222834}.btn-light{color:var(--ink);background:#fff}.btn-light:hover{background:var(--blue-soft)}.btn-outline,.btn-ghost{color:var(--c-text);border-color:var(--c-border-strong);background:0 0}.btn-outline:hover,.btn-ghost:hover{border-color:var(--c-text);background:color-mix(in srgb, var(--c-text) 5%, transparent)}.btn-sm{min-height:44px;padding:10px 20px;font-size:.85rem}.btn-lg{min-height:58px;padding:16px 30px;font-size:.98rem}.btn:disabled{opacity:.65;cursor:wait}.text-link{min-height:44px;color:var(--c-text);transition:background-size .4s var(--ease-out), color var(--motion-fast);background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/0 1px no-repeat;align-items:center;gap:10px;font-size:.92rem;font-weight:600;display:inline-flex}.text-link:hover{background-size:100% 1px}.text-link span[aria-hidden]{color:var(--c-primary);transition:transform .3s var(--ease-out)}.text-link:hover span[aria-hidden]{transform:translate(2px,-2px)}.pill{background:var(--accent-surface);color:var(--c-primary);font:600 .7rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;padding:6px 12px;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--c-border);background:var(--c-surface);min-height:40px;transition:border-color var(--motion-fast), transform .3s var(--ease-out), box-shadow .3s var(--ease-out);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.86rem;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--c-text);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.project-tech,.service-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tech span,.service-tags span{border:1px solid var(--c-border);color:var(--c-text-dim);border-radius:999px;padding:5px 11px;font-size:.74rem;font-weight:500}.hero-cta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px;display:flex}.navbar{height:calc(var(--nav-h) - 14px);z-index:1000;pointer-events:none;transition:transform .5s var(--ease-out);position:fixed;inset:14px 0 auto}.navbar.nav-hidden{transform:translateY(calc(-100% - 20px))}.nav-inner{pointer-events:auto;height:100%;width:min(calc(100% - 32px), var(--maxw));-webkit-backdrop-filter:blur(18px)saturate(1.6);background:#f6f5f1c7;border:1px solid #fff9;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;padding:0 10px 0 22px;transition:background .3s,box-shadow .3s;display:flex;box-shadow:inset 0 1px #ffffff80,0 10px 30px -18px #0b0e1440}.navbar.scrolled .nav-inner{background:#f6f5f1eb;box-shadow:inset 0 1px #ffffff80,0 18px 40px -20px #0b0e1450}.logo{font:700 1.1rem/1 var(--font-head);white-space:nowrap;letter-spacing:-.04em;color:var(--ink);align-items:center;gap:10px;display:inline-flex}.logo-mark{background:var(--blue);color:#fff;letter-spacing:-.02em;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.66rem;font-weight:800;display:grid}.logo b{color:var(--blue);font-weight:700}.nav-links{align-items:center;gap:2px;display:flex}.nav-links a{color:#3d434c;min-height:44px;transition:color var(--motion-fast), background var(--motion-fast);border-radius:999px;align-items:center;padding:10px 16px;font-size:.9rem;font-weight:500;display:flex;position:relative}.nav-links a:hover{color:var(--ink);background:#0b0e140a}.nav-links a.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0b0e1414}.nav-actions{align-items:center;gap:10px;display:flex}.nav-toggle{background:var(--ink);color:#fff;border:0;border-radius:50%;place-items:center;width:46px;height:46px;display:none}.nav-toggle span{width:18px;height:1.6px;transition:transform .3s var(--ease-out), opacity .2s;background:currentColor;display:block}.nav-toggle.open span:first-child{transform:translateY(6.6px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6.6px)rotate(-45deg)}.mobile-book{display:none}.scroll-progress{background:var(--blue);z-index:1001;width:0;height:2px;position:fixed;inset:0 auto auto 0}.section-head{max-width:820px;margin-bottom:56px}.section-head p{color:var(--c-text-dim);max-width:540px;margin-top:18px;font-size:1.04rem;line-height:1.75}.section-head.split{grid-template-columns:1.25fr .75fr;align-items:end;gap:64px;max-width:none;margin-bottom:64px;display:grid}.section-head.split>div>p,.section-head.split>p{margin-top:0}.section-head.split .text-link{margin-top:14px}.section-head h2{margin:0}details{border-bottom:1px solid var(--c-border)}summary{min-height:72px;font:700 1.15rem/1.4 var(--font-head);letter-spacing:-.02em;align-items:center;padding:18px 56px 18px 0;list-style:none;display:flex;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"";border:1px solid var(--c-border-strong);width:38px;height:38px;transition:transform .4s var(--ease-out), background-color .3s;background:linear-gradient(currentColor,currentColor) 50%/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50%/1.5px 12px no-repeat;border-radius:50%;position:absolute;right:4px}details[open]>summary:after{background-color:var(--accent-surface);transform:rotate(135deg)}summary:hover{color:var(--c-primary)}details p{color:var(--c-text-dim);max-width:680px;margin:0 0 24px;font-size:.96rem;line-height:1.75}.footer-social{gap:8px;display:flex}.footer-social a{border:1px solid var(--c-border);background:var(--c-surface);width:44px;height:44px;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);border-radius:50%;place-items:center;display:grid}.footer-social a:hover{background:var(--blue);border-color:var(--blue);color:#fff}.footer-social svg{width:17px;height:17px}.work-card .project-context{color:var(--c-text-faint);margin-top:14px;font-size:.78rem}.page-hero{padding-top:calc(var(--nav-h) + 96px);padding-bottom:72px;overflow:clip}.page-hero:before{content:"";z-index:-1;background-image:linear-gradient(#0b0e140a 1px,#0000 1px),linear-gradient(90deg,#0b0e140a 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 70% at 85% 10%,#000 10%,#0000 70%);mask-image:radial-gradient(60% 70% at 85% 10%,#000 10%,#0000 70%)}.page-hero:after{content:"";z-index:-1;background:radial-gradient(closest-side,#2448ec24,#0000);border-radius:50%;width:760px;height:760px;position:absolute;top:-340px;right:-240px}.page-hero h1{max-width:1040px}.page-hero p:not(.breadcrumb){max-width:640px;color:var(--c-text-dim);margin-top:26px;font-size:1.12rem;line-height:1.75}.page-hero .btn{margin-top:30px}.breadcrumb{border:1px solid var(--c-border);color:var(--c-text-faint);background:#ffffffb3;border-radius:999px;flex-wrap:wrap;gap:6px;margin-bottom:30px;padding:7px 14px;font-size:.78rem;display:inline-flex}.breadcrumb a{color:var(--c-text);font-weight:500}.breadcrumb a:hover{color:var(--c-primary)}.case-hero h1{font-size:clamp(2.6rem,5vw,4.6rem)}.case-hero .case-role{color:var(--c-text-faint);margin-top:22px;font-size:.88rem}.case-hero .text-link{margin-top:12px}.portfolio-note{max-width:640px;color:var(--c-text-faint);margin:16px 0 28px;font-size:.82rem}.project-card{min-width:0}.project-tile-reveal .project-links{gap:0 16px;margin-top:0}.project-tile-reveal .project-links a,.project-tile-reveal .project-links a:first-child{color:#fff;min-height:32px;text-decoration-color:#fff6}.project-tile-reveal .project-links a:hover{color:#fff;text-decoration-color:currentColor}.project-context{color:var(--c-text-faint);margin-top:8px;font-size:.8rem}.project-links{flex-wrap:wrap;align-items:center;gap:2px 18px;margin-top:16px;display:flex}.project-links a{min-height:44px;color:var(--c-text-dim);text-decoration:underline;text-decoration-color:var(--c-border-strong);text-underline-offset:5px;align-items:center;font-size:.82rem;font-weight:500;display:inline-flex}.project-links a:first-child{color:var(--c-primary);font-weight:700}.project-links a:hover{color:var(--c-text);text-decoration-color:currentColor}.contribution-list li{border-bottom:1px solid var(--c-border);color:var(--c-text-dim);gap:16px;padding:18px 0;font-size:.98rem;line-height:1.65;display:flex}.contribution-list li:before{content:"";background:var(--accent-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4 8-9' fill='none' stroke='%232448ec' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-radius:50%;flex-shrink:0;width:22px;height:22px;margin-top:1px}.article-note{font-size:.84rem}.related-work{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding-top:24px;display:flex}.text-page ul:not(.contribution-list){padding-left:24px;list-style:outside}.market-links{border-top:1px solid var(--c-border);flex-wrap:wrap;gap:8px 26px;padding-block:22px;display:flex}.market-links a{min-height:44px;color:var(--c-text-dim);align-items:center;font-size:.88rem;font-weight:500;display:inline-flex}.market-links a:hover{color:var(--c-text)}.service-index-nav.market-links{border:0;gap:8px;padding:0}.service-index-nav.market-links a{border:1px solid var(--c-border-strong);color:var(--c-text);border-radius:999px;padding:8px 18px;font-weight:600}.service-index-nav.market-links a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.not-found h1{font-size:clamp(3rem,7vw,6rem)}.not-found-code{font:800 clamp(7rem, 22vw, 16rem)/.85 var(--font-head);letter-spacing:-.08em;color:#0000;-webkit-text-stroke:1.5px var(--c-border-strong);margin-bottom:20px;display:block}.not-found .hero-cta{margin-top:36px}.footer{padding:0 0 28px;overflow:clip}.footer-cta{border-bottom:1px solid var(--c-border);grid-template-columns:1fr auto;align-items:end;gap:40px;padding-block:clamp(80px,10vw,140px) 72px;display:grid}.footer-cta-title{letter-spacing:-.045em;font-size:clamp(2.6rem,5.6vw,5.2rem)}.footer-cta-title span{color:var(--c-primary)}.footer-cta-actions{flex-wrap:wrap;gap:12px;display:flex}.footer-cta+.container .footer-grid{padding-top:64px}.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:64px;padding-top:80px;display:grid}.footer .logo{color:#fff}.footer .logo b{color:var(--blue-light)}.footer-brand p{color:var(--c-text-dim);max-width:320px;margin-block:18px 22px;font-size:.9rem}.footer-social a{border-color:var(--c-border-strong);background:0 0}.footer-col h2{font:700 .72rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-faint);margin-bottom:10px}.footer-col a{width:fit-content;min-height:44px;color:var(--c-text-dim);overflow-wrap:anywhere;transition:color var(--motion-fast);padding-block:10px;font-size:.92rem;display:block}.footer-col a:hover{color:#fff}.footer .market-links{margin-top:48px}.footer-wordmark{font:800 clamp(4rem, 15.5vw, 15rem)/.8 var(--font-head);letter-spacing:-.07em;white-space:nowrap;color:#0000;background:linear-gradient(#1d2950,#060a17 92%);user-select:none;text-align:center;-webkit-background-clip:text;background-clip:text;margin-top:24px}.footer-bottom{border-top:1px solid var(--c-border);color:var(--c-text-faint);flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:24px;font-size:.8rem;display:flex}.footer-bottom a{text-underline-offset:4px;text-decoration:underline}.to-top{color:#fff;background:var(--ink);z-index:900;width:48px;height:48px;box-shadow:var(--shadow-lift);border:0;border-radius:50%;place-items:center;display:none;position:fixed;bottom:22px;right:22px}.to-top:hover{background:var(--blue)}.to-top.show{display:grid}.to-top svg,.contact-icon svg{width:1em;height:1em}.empty-state{color:var(--c-text-dim);padding:32px}html.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transform:translateY(32px)}html.js [data-reveal].in-view{opacity:1;transform:none}[data-reveal-image]:not(.project-cover){overflow:hidden}.process-steps li:nth-child(2),.services-grid>:nth-child(4n+2),.testi-grid>:nth-child(2n){transition-delay:90ms}.process-steps li:nth-child(3),.services-grid>:nth-child(4n+3){transition-delay:.18s}.services-grid>:nth-child(4n+4){transition-delay:.27s}html.motion-pending [data-hero-item],html.motion-pending:not([dir=rtl]) [data-hero-title],html.motion-pending [data-hero-portrait],html.motion-pending .hero-phone{opacity:0}[dir=rtl]{--font-head:var(--font-arabic), var(--font-inter);--font-body:var(--font-arabic), var(--font-inter);font-family:var(--font-body)}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{letter-spacing:normal;font-family:inherit;line-height:1.5}[dir=rtl] .text-page{text-align:start;line-height:1.95}[dir=rtl] .breadcrumb{direction:rtl}[dir=rtl] .logo-mark,[dir=rtl] .footer-brand .logo,[dir=rtl] .footer-wordmark{direction:ltr}@media (width<=1100px){.nav-links{inset:calc(var(--nav-h) + 4px) 16px auto;border:1px solid var(--c-border);backdrop-filter:blur(18px);box-shadow:var(--shadow-lift);max-height:calc(100dvh - var(--nav-h) - 24px);opacity:0;transition:opacity .25s, transform .35s var(--ease-out), visibility 0s .35s;background:#fffffff5;border-radius:24px;flex-direction:column;align-items:stretch;gap:4px;padding:14px;position:fixed;overflow-y:auto;transform:translateY(-10px)}.nav-links a{padding:14px 18px;font-size:1.05rem}html.js .nav-links,html.nav-pending .nav-links{visibility:hidden}html.js .nav-links.open{visibility:visible;opacity:1;transition:opacity .25s, transform .35s var(--ease-out);transform:none}.mobile-book{display:block}.mobile-book a{background:var(--blue);justify-content:center;margin-top:6px;color:#fff!important}.nav-toggle{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.desktop-cta{display:none}html:not(.js):not(.nav-pending) .navbar{height:auto;padding-top:14px;position:relative;inset:auto}html:not(.js):not(.nav-pending) .nav-inner{border-radius:28px;flex-wrap:wrap;padding-block:12px}html:not(.js):not(.nav-pending) .nav-links{visibility:visible;opacity:1;max-height:none;box-shadow:none;background:0 0;border:none;flex-basis:100%;order:2;padding:0;position:static;transform:none}html:not(.js):not(.nav-pending) .nav-actions{order:1}html:not(.js):not(.nav-pending) .nav-toggle{display:none}html:not(.js):not(.nav-pending) .page-hero{padding-top:56px}}@media (width<=900px){.section-head.split{grid-template-columns:1fr;gap:32px}.footer-cta{grid-template-columns:1fr;align-items:start}.footer-grid{gap:36px}}@media (width<=640px){:root{--nav-h:76px}.container{padding-inline:20px}.nav-inner{width:calc(100% - 20px);padding-left:16px;padding-right:8px}.navbar{height:calc(var(--nav-h) - 10px);inset:10px 0 auto}.logo{font-size:1rem}.logo-mark{width:34px;height:34px}.hero-cta .btn{flex:auto}summary{font-size:1.02rem}.page-hero{padding-top:calc(var(--nav-h) + 48px);padding-bottom:48px}.page-hero p:not(.breadcrumb){font-size:1rem}.related-work{flex-direction:column;align-items:flex-start}.footer-cta-actions .btn{flex:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}html.js [data-reveal]{opacity:1;transform:none}}
