@font-face{font-family:"Tajawal";src:url("/assets/portfolio/fonts/Tajawal-ExtraLight.woff2") format("woff2");font-style:normal;font-weight:200;font-display:swap}
@font-face{font-family:"Tajawal";src:url("/assets/portfolio/fonts/Tajawal-Light.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Tajawal";src:url("/assets/portfolio/fonts/Tajawal-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Tajawal";src:url("/assets/portfolio/fonts/Tajawal-Medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Tajawal";src:url("/assets/portfolio/fonts/Tajawal-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Tajawal";src:url("/assets/portfolio/fonts/Tajawal-ExtraBold.woff2") format("woff2");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/portfolio/fonts/Poppins-Light.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/portfolio/fonts/Poppins-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/portfolio/fonts/Poppins-Medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/portfolio/fonts/Poppins-SemiBold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/portfolio/fonts/Poppins-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--navy:#001834;--navy-2:#082545;--void:#05080f;--teal:#50c8c6;--violet:#6019b4;--paper:#f4f8fc;--white:#fff;--ink:#10233c;--muted:#596e85;--line:rgba(16,35,60,.14);--dark-line:rgba(255,255,255,.14);--container:1320px;--radius:8px;--ease:cubic-bezier(.16,1,.3,1);--fast:cubic-bezier(.23,1,.32,1);--font-ar:"Tajawal",Tahoma,Arial,sans-serif;--font-en:"Poppins",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ar);overflow-x:hidden}html[lang="en"] body{font-family:var(--font-en)}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}::selection{background:var(--teal);color:var(--navy)}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.skip-link{position:fixed;z-index:1000;top:8px;inset-inline-start:8px;background:#fff;color:var(--navy);padding:10px 16px;transform:translateY(-150%)}.skip-link:focus{transform:none}.section-shell{width:min(calc(100% - 48px),var(--container));margin-inline:auto;padding-block:clamp(84px,10vw,148px)}
.lab-nav{position:fixed;z-index:90;top:0;left:0;right:0;height:76px;display:flex;align-items:center;gap:32px;padding-inline:max(24px,calc((100vw - var(--container))/2));background:rgba(0,24,52,.88);border-bottom:1px solid var(--dark-line);backdrop-filter:blur(18px);color:#fff}.lab-logo{width:102px;flex:none}.lab-logo img{width:100%}.lab-nav nav{margin-inline-start:auto}.lab-nav ul{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);list-style:none;padding:0;margin:0}.lab-nav a{font-size:13px;font-weight:700}.lab-nav nav a{position:relative;padding-block:10px}.lab-nav nav a::after{content:"";position:absolute;inset-inline:0;bottom:3px;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .2s var(--fast)}.lab-nav nav a:hover::after{transform:scaleX(1)}.lab-link{color:var(--teal)}.language{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--dark-line)}.nav-toggle{display:none;margin-inline-start:auto;border:0;background:none;color:#fff;width:48px;height:48px;padding:10px;cursor:pointer}.nav-toggle span{display:block;height:2px;background:currentColor;margin:5px 0}.nav-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.landing-hero{position:relative;min-height:100dvh;padding:128px max(24px,calc((100vw - var(--container))/2)) 52px;background:radial-gradient(circle at 12% 45%,rgba(96,25,180,.32),transparent 33%),linear-gradient(115deg,var(--void),var(--navy) 62%,#0b2a50);color:#fff;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);grid-template-rows:1fr auto;align-items:center;gap:clamp(24px,5vw,76px);overflow:hidden}.hero-copy{position:relative;z-index:3}.hero-kicker{margin:0 0 20px;color:#a9e6e4;font:700 11px/1.7 var(--font-en);letter-spacing:.12em;text-transform:uppercase}.hero-copy h1{max-width:11ch;margin:0;font-size:clamp(48px,6.6vw,104px);font-weight:900;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.hero-intro{max-width:55ch;margin:28px 0 0;color:rgba(255,255,255,.73);font-size:clamp(15px,1.4vw,18px);line-height:1.95}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:4px;font-weight:800;font-size:14px;cursor:pointer;transition:transform 150ms var(--fast),background-color 180ms ease,border-color 180ms ease,color 180ms ease}.btn:active{transform:scale(.97)}.btn--primary{background:#fff;color:var(--navy)}.btn--primary:hover{background:var(--teal)}.btn--secondary{border-color:rgba(255,255,255,.4);color:#fff}.btn--secondary:hover{border-color:#fff;background:rgba(255,255,255,.08)}.hero-portrait{position:relative;align-self:end;height:calc(100dvh - 128px);min-height:560px;display:flex;align-items:flex-end;justify-content:center;z-index:2}.portrait-frame{position:relative;height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center}.portrait-frame::before{content:"";position:absolute;width:78%;aspect-ratio:1;bottom:8%;background:radial-gradient(circle,rgba(96,25,180,.88),rgba(96,25,180,.18) 48%,transparent 70%);filter:blur(18px)}.portrait-frame img{position:relative;z-index:2;max-height:100%;width:auto;filter:drop-shadow(-20px 28px 34px rgba(0,0,0,.44))}.hero-signal{position:absolute;z-index:4;inset-inline-end:clamp(10px,2.4vw,32px);bottom:clamp(72px,12%,118px);display:flex;flex-direction:column;gap:5px;isolation:isolate;filter:drop-shadow(0 16px 24px rgba(0,0,0,.24))}.hero-signal::before{content:"";position:absolute;z-index:-2;inset:-34px -26px -24px;background:radial-gradient(ellipse at 48% 42%,rgba(96,25,180,.54),transparent 58%),radial-gradient(ellipse at 48% 85%,rgba(80,200,198,.24),transparent 66%);filter:blur(22px);opacity:.9;animation:signalAura 8s ease-in-out infinite alternate}.hero-signal::after{content:"";position:absolute;z-index:-1;inset:-13px -11px -12px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(0,24,52,.55),rgba(8,37,69,.18));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:.82}.hero-signal b{position:relative;padding:10px 14px;background:rgba(0,24,52,.84);border:1px solid rgba(255,255,255,.18);color:#fff;font:700 11px/1 var(--font-en);letter-spacing:.02em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.1);transition:transform .25s var(--fast),border-color .25s,background .25s}.hero-signal b:hover{transform:translateX(-3px);border-color:rgba(255,255,255,.38)}.hero-signal b:nth-child(2){background:linear-gradient(105deg,rgba(0,24,52,.9),rgba(30,83,104,.7));border-color:rgba(80,200,198,.36)}.hero-signal b:nth-child(3){background:linear-gradient(105deg,rgba(0,24,52,.9),rgba(71,28,126,.76));border-color:rgba(160,111,232,.42)}@keyframes signalAura{0%{transform:translate3d(-3px,2px,0) scale(.96);opacity:.64}100%{transform:translate3d(4px,-4px,0) scale(1.04);opacity:1}}.hero-projects{grid-column:1/-1;display:flex;gap:1px;position:relative;z-index:3}.hero-projects a{flex:1;padding:14px 16px;border-top:1px solid var(--dark-line);color:rgba(255,255,255,.72);font:600 12px/1.5 var(--font-en);transition:background .2s,color .2s}.hero-projects a:hover{background:rgba(255,255,255,.06);color:#fff}.hero-projects span{color:var(--teal);margin-inline-end:10px}.hero-blades{position:absolute;inset:0;pointer-events:none}.hero-blades i{position:absolute;display:block;height:24px;transform:skewY(-13deg);background:var(--teal);opacity:.2}.hero-blades i:nth-child(1){width:44%;top:18%;left:-12%}.hero-blades i:nth-child(2){width:34%;top:38%;right:-12%;background:var(--violet);opacity:.42}.hero-blades i:nth-child(3){width:55%;bottom:9%;left:-18%;background:linear-gradient(90deg,var(--teal),var(--violet));opacity:.17}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:52px}.section-intro h2{max-width:15ch;margin:0;font-size:clamp(38px,4.5vw,70px);line-height:1.15;letter-spacing:-.04em}.section-intro p{max-width:58ch;margin:0;color:var(--muted);font-size:16px;line-height:1.95}.proof{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.proof .section-intro{display:block;margin:0}.proof .section-intro p{margin-top:24px}.proof-stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.proof-stats div{padding:26px 18px;border-inline-start:1px solid var(--line)}.proof-stats div:first-child{border-inline-start:0}.proof-stats strong{display:block;color:var(--violet);font:800 clamp(34px,4vw,62px)/1 var(--font-en)}.proof-stats span{display:block;margin-top:10px;color:var(--muted);font-size:13px;line-height:1.65}
.selected-work{padding-top:40px}.work-layout{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:250px;gap:16px}.work-tile{position:relative;overflow:hidden;background:var(--navy);color:#fff;grid-column:span 5;grid-row:span 2}.work-tile--2,.work-tile--3{grid-column:span 7;grid-row:span 1}.work-tile--4{grid-column:span 7;grid-row:span 2}.work-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.work-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,18,42,.9))}.work-tile:hover img{transform:scale(1.045)}.work-tile>span,.work-tile>div{position:absolute;z-index:2}.work-sector{top:18px;inset-inline-start:18px;padding:6px 9px;background:rgba(0,24,52,.82);font-size:11px}.work-tile>div{inset-inline:24px;bottom:22px}.work-tile b{display:block;font-size:clamp(22px,2.4vw,36px)}.work-tile small{display:block;margin-top:6px;color:rgba(255,255,255,.72)}.section-link{display:inline-block;margin-top:28px;padding-bottom:5px;border-bottom:2px solid var(--teal);font-weight:800}
.technology-section{background:var(--navy);color:#fff}.technology-section .section-intro p{color:rgba(255,255,255,.64)}.tech-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.tech-card{grid-column:span 4;background:rgba(255,255,255,.045);border:1px solid var(--dark-line);overflow:hidden;transition:transform .22s var(--fast),background .22s}.tech-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.075)}.tech-card--feature{grid-column:span 8;display:grid;grid-template-columns:1.15fr .85fr}.tech-media{display:block;overflow:hidden}.tech-media img{width:100%;height:210px;object-fit:cover;object-position:top;transition:transform .6s var(--ease)}.tech-card--feature .tech-media img{height:100%;min-height:340px}.tech-card:hover img{transform:scale(1.025)}.tech-copy{padding:22px}.tech-copy>span{color:var(--teal);font-size:11px;font-weight:800}.tech-copy h3{margin:9px 0 0;font-size:clamp(22px,2.2vw,32px)}.tech-copy p{margin:10px 0 0;color:rgba(255,255,255,.67);font-size:13px;line-height:1.8}.card-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}.text-link{color:#fff;font-size:12px;font-weight:800;border-bottom:1px solid var(--teal);padding-bottom:3px}.text-muted{color:rgba(255,255,255,.45);font-size:12px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.process-grid article{padding:30px;background:#fff;min-height:260px}.process-grid i{font:700 11px/1 var(--font-en);color:var(--violet)}.process-grid h3{margin:40px 0 0;font-size:22px}.process-grid p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.trust{padding-top:40px}.trust h2{margin:0 0 34px;font-size:clamp(30px,4vw,54px)}.trust-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line)}.trust-grid figure{margin:0;min-height:132px;display:grid;place-items:center;padding:24px;border-inline-start:1px solid var(--line);background:#fff}.trust-grid figure:first-child{border:0}.trust-grid img{max-height:66px;object-fit:contain}.notes{padding-top:40px}.notes-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:18px}.notes-grid article{padding:28px;background:#fff;min-height:180px}.notes-grid article:nth-child(2){margin-top:42px}.notes-grid span{color:var(--muted);font-size:11px}.notes-grid h3{font-size:22px;line-height:1.5;margin:26px 0 0}
.contact{width:min(calc(100% - 48px),var(--container));margin:40px auto 120px;background:var(--violet);color:#fff;padding:clamp(30px,5vw,70px);display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.contact h2{font-size:clamp(40px,5vw,74px);line-height:1.12;margin:0}.contact>div p{color:rgba(255,255,255,.72);line-height:1.9}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact label span{display:block;margin-bottom:7px;font-size:12px;font-weight:700}.contact input,.contact select,.contact textarea{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.26);background:rgba(0,24,52,.25);color:#fff;border-radius:4px;outline:none}.contact select option{color:var(--ink);background:#fff}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(80,200,198,.25)}.wide{grid-column:1/-1}.contact .btn{justify-self:start}.honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.form-status{grid-column:1/-1;min-height:1.5em;margin:0;color:#d4fffe;font-size:13px}.lab-footer{display:flex;align-items:center;gap:30px;padding:32px max(24px,calc((100vw - var(--container))/2));background:var(--navy);color:rgba(255,255,255,.6)}.lab-footer img{width:90px}.lab-footer p{font-size:12px}.lab-footer div{margin-inline-start:auto;display:flex;gap:20px}.lab-footer a{font-size:12px;color:#fff}
/* Impeccable: immersive exhibition */
.v-impeccable{background:#071329;color:#fff}.v-impeccable .landing-hero{grid-template-columns:1.25fr .75fr;background:#071329;padding-bottom:0}.v-impeccable .hero-copy{align-self:start;margin-top:8vh}.v-impeccable .hero-copy h1{font-size:clamp(60px,8vw,124px);max-width:9ch;line-height:.96;letter-spacing:-.035em}.v-impeccable .hero-intro{font-size:17px}.v-impeccable .hero-portrait{height:calc(100dvh - 76px)}.v-impeccable .portrait-frame{clip-path:polygon(18% 0,100% 0,82% 100%,0 100%);background:#0d2850}.v-impeccable .hero-projects{position:absolute;inset-inline-start:max(24px,calc((100vw - var(--container))/2));bottom:30px;width:44%;flex-direction:column}.v-impeccable .hero-projects a{padding:10px 0}.v-impeccable .section-shell{color:#fff}.v-impeccable .proof{grid-template-columns:1fr;padding-block:150px}.v-impeccable .proof .section-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px}.v-impeccable .proof .section-intro p{color:rgba(255,255,255,.62)}.v-impeccable .proof-stats{margin-inline-start:20%;border-color:var(--dark-line)}.v-impeccable .proof-stats div{border-color:var(--dark-line)}.v-impeccable .proof-stats strong{color:var(--teal)}.v-impeccable .proof-stats span{color:rgba(255,255,255,.55)}.v-impeccable .selected-work{width:100%;padding-inline:max(24px,calc((100vw - var(--container))/2));background:#fff;color:var(--ink)}.v-impeccable .work-layout{grid-auto-rows:310px}.v-impeccable .work-tile--1{grid-column:span 7}.v-impeccable .work-tile--4{grid-column:span 5}.v-impeccable .process,.v-impeccable .trust,.v-impeccable .notes{color:#fff}.v-impeccable .process-grid{background:transparent;border-block:1px solid var(--dark-line);border-inline:0}.v-impeccable .process-grid article{background:transparent;border-inline-start:1px solid var(--dark-line)}.v-impeccable .process-grid p,.v-impeccable .section-intro p{color:rgba(255,255,255,.6)}.v-impeccable .trust-grid{border-color:var(--dark-line)}.v-impeccable .trust-grid figure{background:rgba(255,255,255,.04);border-color:var(--dark-line)}.v-impeccable .notes-grid article{background:rgba(255,255,255,.04)}
/* UI UX Pro Max: cinematic bento */
.v-uiux{--radius:16px;background:#061327;color:#fff}.v-uiux .landing-hero{grid-template-columns:.82fr 1.18fr;background:radial-gradient(circle at 78% 20%,rgba(80,200,198,.18),transparent 30%),linear-gradient(145deg,#061327,#0a2042);gap:28px}.v-uiux .hero-copy h1{font-size:clamp(48px,5.8vw,88px)}.v-uiux .hero-portrait{grid-column:2;grid-row:1;height:70dvh;min-height:500px;border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.05)}.v-uiux .hero-projects{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr)}.v-uiux .hero-projects a{border:1px solid var(--dark-line);border-radius:12px;margin-inline-end:8px}.v-uiux .section-shell{color:#fff}.v-uiux .proof{grid-template-columns:.8fr 1.2fr}.v-uiux .proof-stats{gap:12px;border:0}.v-uiux .proof-stats div{border:1px solid var(--dark-line);border-radius:14px;background:rgba(255,255,255,.04)}.v-uiux .proof-stats span,.v-uiux .section-intro p{color:rgba(255,255,255,.6)}.v-uiux .selected-work{width:100%;padding-inline:max(24px,calc((100vw - var(--container))/2));background:#f5f8fc;color:var(--ink)}.v-uiux .work-tile{border-radius:16px}.v-uiux .technology-section{background:#081b38}.v-uiux .tech-card{border-radius:16px}.v-uiux .process-grid{border:0;background:transparent;gap:12px}.v-uiux .process-grid article{border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--dark-line)}.v-uiux .process-grid p{color:rgba(255,255,255,.62)}.v-uiux .trust-grid{border-color:var(--dark-line);border-radius:16px;overflow:hidden}.v-uiux .trust-grid figure{background:rgba(255,255,255,.04);border-color:var(--dark-line)}.v-uiux .notes-grid article{border:1px solid var(--dark-line);border-radius:14px;background:rgba(255,255,255,.04)}
/* Interface Design: operating surface */
.v-interface{--container:1440px;background:#07152b;color:#fff}.v-interface .lab-nav{inset-inline-start:0;right:auto;width:82px;height:100dvh;flex-direction:column;padding:24px 14px;border-inline-end:1px solid var(--dark-line)}html[dir="rtl"] .v-interface .lab-nav{right:0;left:auto}.v-interface .lab-logo{width:52px}.v-interface .lab-nav nav{margin:auto 0 0}.v-interface .lab-nav ul{flex-direction:column}.v-interface .lab-nav nav li:not(:last-child):not(:nth-last-child(2)){display:none}.v-interface .language,.v-interface .lab-link{writing-mode:vertical-rl}.v-interface main,.v-interface .lab-footer{margin-inline-start:82px}.v-interface .landing-hero{padding-top:60px;grid-template-columns:.9fr .72fr .38fr;background:#07152b;border-bottom:1px solid var(--dark-line)}.v-interface .hero-copy{padding:34px;border:1px solid var(--dark-line);background:#0a1d38}.v-interface .hero-copy h1{font-size:clamp(44px,5vw,76px)}.v-interface .hero-portrait{height:76dvh;min-height:520px;border:1px solid var(--dark-line)}.v-interface .hero-projects{grid-column:3;grid-row:1;align-self:stretch;flex-direction:column;border:1px solid var(--dark-line);background:#081a34}.v-interface .hero-projects a{display:flex;align-items:center;min-height:33.3%;font-size:14px}.v-interface .hero-signal{inset-inline-end:12px}.v-interface .section-shell{color:#fff}.v-interface .proof{grid-template-columns:.7fr 1.3fr;border-bottom:1px solid var(--dark-line)}.v-interface .proof-stats{border-color:var(--dark-line)}.v-interface .proof-stats div{border-color:var(--dark-line)}.v-interface .proof-stats span,.v-interface .section-intro p{color:rgba(255,255,255,.58)}.v-interface .selected-work{width:calc(100% - 82px);margin-inline-start:82px;padding-inline:max(24px,calc((100vw - var(--container))/2));background:#eef4fa;color:var(--ink)}.v-interface .work-layout{grid-auto-rows:210px}.v-interface .technology-section{background:#091b35}.v-interface .tech-card{border-radius:0}.v-interface .process-grid{grid-template-columns:1fr 1fr;background:transparent;border-color:var(--dark-line)}.v-interface .process-grid article{background:#0a1d38;border:1px solid var(--dark-line)}.v-interface .process-grid p{color:rgba(255,255,255,.58)}.v-interface .trust-grid{border-color:var(--dark-line)}.v-interface .trust-grid figure{background:#0a1d38;border-color:var(--dark-line)}.v-interface .notes-grid article{background:#0a1d38;border-color:var(--teal)}
/* Design Code: semantic token restraint */
.v-designcode{--component-bg:#fff;--component-fg:#10233c;--component-border:rgba(16,35,60,.16);--focus:#3fb5b3;--radius:10px}.v-designcode .landing-hero{background:linear-gradient(130deg,#001834,#0a2a52);grid-template-columns:1fr 1fr}.v-designcode .hero-copy{max-width:720px}.v-designcode .portrait-frame{border:1px solid var(--dark-line);border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.04)}.v-designcode .proof-stats{gap:12px;border:0}.v-designcode .proof-stats div{border:1px solid var(--component-border);border-radius:var(--radius)}.v-designcode .work-tile,.v-designcode .tech-card,.v-designcode .process-grid article,.v-designcode .notes-grid article{border-radius:var(--radius)}.v-designcode .process-grid{gap:12px;border:0;background:none}.v-designcode .process-grid article{border:1px solid var(--component-border)}.v-designcode .trust-grid{border-radius:var(--radius);overflow:hidden}.v-designcode .btn:disabled{opacity:.45;cursor:not-allowed}.v-designcode .btn[aria-busy="true"]{pointer-events:none}.v-designcode .contact input:invalid:not(:placeholder-shown){border-color:#ff9f9f}
/* Emil: motion as invisible craft */
.v-emil{background:#eef4fa}.v-emil .landing-hero{background:linear-gradient(115deg,#061328,#001834);grid-template-columns:1fr .86fr}.v-emil .portrait-frame{clip-path:inset(0 0 0 0);transition:clip-path 600ms var(--ease)}.js .v-emil .portrait-frame{clip-path:inset(0 0 100% 0)}.js .v-emil .portrait-frame.is-in{clip-path:inset(0 0 0 0)}.v-emil .btn,.v-emil .work-tile,.v-emil .tech-card{transition-property:transform,background-color,border-color,box-shadow;transition-duration:160ms;transition-timing-function:var(--fast)}.v-emil .btn:active,.v-emil .work-tile:active,.v-emil .tech-card:active{transform:scale(.97)}.v-emil .work-tile img{transition:transform 600ms var(--ease),filter 220ms ease}.v-emil .work-tile:hover img{transform:scale(1.03);filter:saturate(1.06)}.v-emil .tech-card{transform-origin:var(--origin,center)}.v-emil .tech-card:hover{transform:translateY(-4px) scale(.995)}.v-emil .process-grid article{transition:transform 180ms var(--fast),background 180ms ease}.v-emil .process-grid article:hover{transform:translateY(-3px);background:#fbfdff}
/* Taste: editorial light, high variance */
.v-taste{background:#edf4f8;color:var(--navy)}.v-taste .lab-nav{background:rgba(237,244,248,.92);color:var(--navy);border-color:var(--line)}.v-taste .lab-logo img{filter:brightness(0) saturate(100%) invert(11%) sepia(36%) saturate(1885%) hue-rotate(178deg)}.v-taste .nav-toggle{color:var(--navy)}.v-taste .language{border-color:var(--line)}.v-taste .landing-hero{background:#edf4f8;color:var(--navy);grid-template-columns:1.15fr .85fr;padding-top:104px}.v-taste .hero-copy{align-self:start;margin-top:8vh}.v-taste .hero-kicker{color:var(--violet)}.v-taste .hero-copy h1{max-width:12ch;font-size:clamp(54px,7.5vw,112px);line-height:.98}.v-taste .hero-intro{color:var(--muted);max-width:47ch}.v-taste .btn--primary{background:var(--navy);color:#fff}.v-taste .btn--secondary{border-color:var(--navy);color:var(--navy)}.v-taste .hero-portrait{height:calc(100dvh - 104px)}.v-taste .portrait-frame{background:var(--violet);clip-path:polygon(14% 0,100% 0,88% 100%,0 100%)}.v-taste .hero-signal{display:none}.v-taste .hero-projects{position:absolute;inset-inline-start:max(24px,calc((100vw - var(--container))/2));bottom:30px;width:42%}.v-taste .hero-projects a{border-color:var(--line);color:var(--navy)}.v-taste .hero-blades i{opacity:.13}.v-taste .proof{grid-template-columns:1fr}.v-taste .proof .section-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px}.v-taste .proof-stats{width:75%;margin-inline-start:auto}.v-taste .selected-work{width:100%;padding-inline:max(24px,calc((100vw - var(--container))/2));background:#fff}.v-taste .work-layout{grid-auto-rows:280px;grid-template-columns:repeat(10,1fr)}.v-taste .work-tile--1{grid-column:span 6}.v-taste .work-tile--2{grid-column:span 4;grid-row:span 2}.v-taste .work-tile--3{grid-column:span 4}.v-taste .work-tile--4{grid-column:span 6}.v-taste .technology-section{background:#dfeaf1;color:var(--navy)}.v-taste .technology-section .section-intro p,.v-taste .tech-copy p{color:var(--muted)}.v-taste .tech-card{background:transparent;border-color:rgba(0,24,52,.2)}.v-taste .text-link{color:var(--navy)}.v-taste .tech-copy>span{color:var(--violet)}.v-taste .text-muted{color:var(--muted)}.v-taste .process-grid{background:transparent;border:0;gap:0}.v-taste .process-grid article{background:transparent;border-top:1px solid var(--line)}.v-taste .notes-grid article{background:transparent;border-color:var(--violet)}
/* Works, case studies, comparison index */
.works-hero{padding:160px max(24px,calc((100vw - var(--container))/2)) 90px;background:linear-gradient(115deg,#061328,#0b2a50);color:#fff}.works-hero>span{color:var(--teal);font-weight:800}.works-hero h1{max-width:12ch;margin:18px 0 0;font-size:clamp(50px,7vw,100px);line-height:1.05;letter-spacing:-.045em}.works-hero p{max-width:60ch;color:rgba(255,255,255,.7);line-height:1.9;font-size:17px}.works-page .technology-section .section-shell{padding-top:90px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}.filter-bar button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 15px;cursor:pointer;font-weight:700}.filter-bar button[aria-pressed="true"],.filter-bar button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.archive-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:310px;gap:16px}.archive-grid .work-tile{grid-column:span 4;grid-row:span 1}.archive-grid .work-tile:nth-child(7n+1),.archive-grid .work-tile:nth-child(7n+5){grid-column:span 8}.case-hero{position:relative;min-height:86dvh;background:var(--navy);color:#fff;display:flex;align-items:end;padding:140px max(24px,calc((100vw - var(--container))/2)) 70px;overflow:hidden}.case-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:.46}.case-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,16,40,.97),rgba(0,16,40,.35))}.case-hero>div{position:relative;z-index:2;max-width:760px}.case-hero>div>a:first-child{display:inline-block;margin-bottom:60px;color:var(--teal);font-weight:800}.case-hero span{display:block;color:#c4f4f3;font-size:13px}.case-hero h1{font-size:clamp(58px,8vw,118px);line-height:1;margin:16px 0 0}.case-hero p{font-size:clamp(18px,2vw,27px);line-height:1.7;color:rgba(255,255,255,.8)}.case-study{display:grid;grid-template-columns:.38fr 1fr;gap:80px}.case-study dl{position:sticky;top:110px;margin:0}.case-study dl div{padding:18px 0;border-bottom:1px solid var(--line)}.case-study dt{color:var(--muted);font-size:11px;font-weight:800}.case-study dd{margin:7px 0 0;font-weight:800}.case-body section{padding-bottom:70px}.case-body h2{font-size:clamp(34px,4vw,56px);margin:0}.case-body p{font-size:18px;line-height:2;color:#40536b}.lab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.lab-card{position:relative;min-height:280px;padding:32px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .2s var(--fast),background .2s}.lab-card:hover{transform:translateY(-4px)}.lab-card>span{font:700 12px/1 var(--font-en);color:var(--violet)}.lab-card h2{font-size:clamp(28px,3vw,46px);margin:46px 0 0}.lab-card p{max-width:56ch;color:var(--muted)}.lab-card b{position:absolute;bottom:25px;inset-inline-end:25px;color:var(--violet)}.lab-card--impeccable{background:#071329;color:#fff}.lab-card--impeccable p{color:rgba(255,255,255,.6)}.lab-card--taste{background:#dfeaf1}.lab-card--interface{background:#0a1d38;color:#fff}.lab-card--interface p{color:rgba(255,255,255,.6)}
[data-reveal]{opacity:1;transform:none}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}.js [data-reveal].is-in{opacity:1;transform:none}
@media(max-width:1050px){.landing-hero{grid-template-columns:1fr .8fr}.hero-copy h1{font-size:clamp(48px,7vw,78px)}.section-intro,.proof{grid-template-columns:1fr;display:grid;gap:24px}.tech-card{grid-column:span 6}.tech-card--feature{grid-column:span 12}.process-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(3,1fr)}.trust-grid figure{border-bottom:1px solid var(--line)}.contact{grid-template-columns:1fr}.v-interface .landing-hero{grid-template-columns:1fr 1fr}.v-interface .hero-projects{grid-column:1/-1;grid-row:2;flex-direction:row}.v-interface .hero-projects a{min-height:70px}.v-interface .selected-work{width:calc(100% - 82px)}.v-uiux .landing-hero{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.section-shell{width:min(calc(100% - 32px),var(--container));padding-block:76px}.lab-nav{height:68px;padding-inline:16px}.lab-logo{width:88px}.nav-toggle{display:block}.lab-nav nav{position:fixed;top:68px;inset-inline:0;bottom:0;background:rgba(0,24,52,.985);transform:translateX(105%);transition:transform .28s var(--ease);display:grid;place-items:center}.menu-open .lab-nav nav{transform:none}.lab-nav ul{flex-direction:column;gap:22px}.lab-nav nav a{font-size:20px}.landing-hero,.v-impeccable .landing-hero,.v-uiux .landing-hero,.v-interface .landing-hero,.v-designcode .landing-hero,.v-emil .landing-hero,.v-taste .landing-hero{min-height:auto;padding:102px 16px 0;display:flex;flex-direction:column;gap:20px}.hero-copy,.v-impeccable .hero-copy,.v-taste .hero-copy{margin-top:0}.hero-copy h1,.v-impeccable .hero-copy h1,.v-taste .hero-copy h1{font-size:clamp(42px,13vw,62px);line-height:1.06;max-width:11ch}.hero-intro{font-size:14px;margin-top:20px}.hero-actions{margin-top:24px}.hero-portrait,.v-impeccable .hero-portrait,.v-uiux .hero-portrait,.v-interface .hero-portrait,.v-taste .hero-portrait{width:100%;height:480px;min-height:0;order:2}.hero-projects,.v-impeccable .hero-projects,.v-uiux .hero-projects,.v-interface .hero-projects,.v-taste .hero-projects{position:static;width:100%;display:flex;flex-direction:column;order:3}.hero-projects a{padding:12px 0}.section-intro{display:block}.section-intro p{margin-top:18px}.section-intro h2{font-size:40px}.proof,.v-impeccable .proof .section-intro,.v-taste .proof .section-intro{display:block}.proof-stats,.v-taste .proof-stats,.v-impeccable .proof-stats{width:100%;margin:34px 0 0;grid-template-columns:1fr}.proof-stats div{border-inline:0;border-top:1px solid var(--line)}.work-layout,.v-taste .work-layout{grid-template-columns:1fr;grid-auto-rows:340px}.work-tile,.work-tile--1,.work-tile--2,.work-tile--3,.work-tile--4,.v-impeccable .work-tile--1,.v-impeccable .work-tile--4,.v-taste .work-tile--1,.v-taste .work-tile--2,.v-taste .work-tile--3,.v-taste .work-tile--4{grid-column:span 1;grid-row:span 1}.tech-grid{grid-template-columns:1fr}.tech-card,.tech-card--feature{grid-column:span 1;display:block}.tech-card--feature .tech-media img{height:230px;min-height:0}.process-grid,.v-interface .process-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}.notes-grid{grid-template-columns:1fr}.notes-grid article:nth-child(2){margin-top:0}.contact{width:calc(100% - 32px);margin-bottom:70px;padding:28px 18px;gap:30px}.contact form{grid-template-columns:1fr}.wide{grid-column:1}.lab-footer{align-items:flex-start;flex-direction:column}.lab-footer div{margin:0}.v-interface .lab-nav{width:auto;height:68px;inset:0 0 auto;flex-direction:row;padding:12px 16px}.v-interface .lab-logo{width:88px}.v-interface .nav-toggle{display:block}.v-interface main,.v-interface .lab-footer{margin:0}.v-interface .selected-work{width:100%;margin:0}.v-interface .lab-nav nav{margin:0}.v-interface .lab-nav ul{flex-direction:column}.v-interface .language,.v-interface .lab-link{writing-mode:horizontal-tb}.works-hero{padding:125px 16px 65px}.works-hero h1{font-size:48px}.archive-grid{grid-template-columns:1fr;grid-auto-rows:330px}.archive-grid .work-tile,.archive-grid .work-tile:nth-child(7n+1),.archive-grid .work-tile:nth-child(7n+5){grid-column:span 1}.case-hero{min-height:78dvh;padding:110px 16px 46px}.case-hero h1{font-size:55px}.case-study{grid-template-columns:1fr;gap:42px}.case-study dl{position:static}.lab-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}.js .v-emil .portrait-frame{clip-path:inset(0 0 0 0)}}

/* v10 typography: self-hosted Tajawal/Poppins with deliberate weight contrast */
html[lang="ar"] body{font-family:var(--font-ar);font-weight:400}
html[lang="en"] body{font-family:var(--font-en);font-weight:400}
html[lang="ar"] .landing-hero .hero-copy h1{font-family:var(--font-ar);font-size:clamp(26px,2.9vw,44px);font-weight:800;line-height:1.2;letter-spacing:0;max-width:18ch}
html[lang="en"] .landing-hero .hero-copy h1{font-family:var(--font-en);font-size:clamp(26px,2.9vw,44px);font-weight:700;line-height:1.13;letter-spacing:-.025em;max-width:22ch}
html[lang="ar"] .section-intro h2{font-weight:700;letter-spacing:0}
html[lang="en"] .section-intro h2{font-weight:600}
.hero-intro{font-weight:400}
.hero-kicker{font-weight:500}
html[lang="ar"] .btn{font-weight:700}
html[lang="en"] .btn{font-weight:600}
@media(max-width:760px){
  html[lang="ar"] .landing-hero .hero-copy h1,
  html[lang="en"] .landing-hero .hero-copy h1{font-size:clamp(25px,6.5vw,31px);max-width:22ch}
}
