@font-face{font-family:Zain;src:url(/fonts/zain-name.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF}:root{--paper:#F1EDE3;--ink:#101010;--cobalt:#1E3FFF;--rule:#C9C3B2;--muted:#5E5A50;--display:"Rubik","Noto Kufi Arabic","Helvetica Neue",Arial,sans-serif;--mono:"IBM Plex Mono","SFMono-Regular",Menlo,Consolas,monospace;--gutter:clamp(16px,3vw,32px)}*{box-sizing:border-box}html{color-scheme:light only;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.wrap{padding-inline:var(--gutter);max-width:1440px;margin-inline:auto}.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:24px}.mono{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.rule{border:0;border-top:1px solid var(--ink);margin:0}.rule--full{margin-inline:calc(-1 * var(--gutter))}nav{display:flex;justify-content:space-between;align-items:center;padding-block:18px}nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}nav a{text-decoration:none}nav>a:lang(ar){font-family:"Zain",var(--mono);font-size:15px;letter-spacing:0}nav a:hover{color:var(--cobalt)}.lang{font-family:var(--mono);font-size:12px;letter-spacing:.06em;border:1px solid var(--ink);padding:6px 10px;text-decoration:none}.lang:hover{background:var(--ink);color:var(--paper)}.hero{position:relative;padding-block:24px 64px}.hero .name{grid-column:1 / span 12;grid-row:1;align-self:end;z-index:2}.hero h1{margin:0;font-weight:900;-webkit-text-stroke:10px var(--paper);paint-order:stroke fill;line-height:.82;letter-spacing:-.02em;text-wrap:balance;font-size:clamp(6.5rem,24vw,21rem);margin-inline-start:calc(-1 * var(--gutter))}.hero h1:lang(ar){font-family:Zain,Noto Kufi Arabic,sans-serif;font-weight:400;font-size:clamp(4rem,20vw,16rem);margin-inline-start:0}.hero h1:lang(en){font-size:clamp(3.6rem,23vw,18rem);letter-spacing:-.04em}.hero .name:lang(en){align-self:center}.hero .portrait{grid-column:8 / span 5;grid-row:1;z-index:1;margin-top:8px;align-self:start}.hero .portrait .photo{--h:min(54vh,600px);inline-size:min(100%,calc(var(--h) * 3 / 4));block-size:auto;aspect-ratio:3/4;margin-inline-start:auto}.hero .meta{grid-column:1 / span 5;display:grid;gap:8px;color:var(--muted);max-width:52ch}.hero .meta p{margin:0;font-size:19px;color:var(--ink);line-height:1.4}.hero .links{grid-column:8 / span 5;display:flex;flex-wrap:wrap;gap:8px 20px;align-self:end}.hero .links a{text-decoration:none;border-bottom:1px solid var(--ink)}.hero .links a:hover{color:var(--cobalt);border-color:var(--cobalt)}.photo{position:relative;background:var(--cobalt);overflow:hidden}.photo img{display:block;width:100%;height:100%;object-fit:cover}.r34{aspect-ratio:3/4}.r11{aspect-ratio:1/1}.about{padding-block:48px 72px}.about .photo{grid-column:1 / span 4;align-self:start}.about .txt{grid-column:6 / span 6;font-size:21px;line-height:1.4;max-width:40ch}.about .txt p{margin:0 0 1em}.can{margin:16px 0 28px;display:grid}.can dt{font-weight:900;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;line-height:1.05;border-top:1px solid var(--ink);padding-top:14px}.can dd{margin:6px 0 18px;font-size:18px;line-height:1.4}.hood{color:var(--muted);font-size:13px;border-top:1px solid var(--rule);padding-top:12px}.hood span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.contact{padding-block:64px 32px}.contact h2{margin:0;font-weight:900;line-height:.85;letter-spacing:-.03em;font-size:clamp(4rem,16vw,14rem);margin-inline-start:calc(-1 * var(--gutter))}.contact a.mail{display:inline-block;margin-top:24px;font-size:clamp(1.2rem,3vw,2rem);text-decoration:none;border-bottom:2px solid var(--ink);direction:ltr}.contact a.mail:hover{color:var(--cobalt);border-color:var(--cobalt)}footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px 40px;color:var(--muted)}.worklist{padding-block:48px 56px}.worklist-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}.worklist-head .all{text-decoration:none;border-bottom:1px solid var(--ink)}.worklist ul{list-style:none;margin:0;padding:0}.worklist li a{display:grid;grid-template-columns:auto 1fr auto;gap:4px 24px;align-items:baseline;text-decoration:none;border-top:1px solid var(--ink);padding:18px 0}.worklist li a:hover h3{color:var(--cobalt)}.worklist h3{margin:0;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;letter-spacing:-.02em;line-height:1}.worklist li p{grid-column:2;margin:6px 0 0;color:var(--muted);max-width:52ch}.worklist .n,.worklist .y{color:var(--muted)}.workhead{padding-block:32px 24px}.workhead h1{margin:.1em 0 .2em;font-weight:900;line-height:.85;letter-spacing:-.03em;font-size:clamp(3rem,12vw,9rem)}.workhead p{margin:0;font-size:19px;max-width:46ch;color:var(--muted)}.empty{padding-block:48px;color:var(--muted)}.gallery{list-style:none;margin:0;padding:40px 0 64px;display:grid;gap:48px 32px;grid-template-columns:repeat(2,1fr)}.gallery a{text-decoration:none;display:block}.gallery .cap{padding-top:14px}.gallery h2{margin:6px 0 4px;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:900;letter-spacing:-.02em;line-height:1.05}.gallery p{margin:0;color:var(--muted);max-width:44ch}.gallery a:hover h2{color:var(--cobalt)}.gallery .cap .mono{color:var(--muted)}.r169{aspect-ratio:16/9}.casehead{padding-block:28px 24px;position:relative}.casehead .back{text-decoration:none;border-bottom:1px solid var(--ink)}.casehead h1{margin:.15em 0 .1em;font-weight:900;line-height:.9;letter-spacing:-.03em;font-size:clamp(2.6rem,9vw,7rem)}.casehead .lede{margin:0;font-size:21px;max-width:44ch}.casehead .year{position:absolute;inset-inline-end:0;top:28px;color:var(--muted)}.casecover{margin-inline:calc(-1 * var(--gutter));margin-bottom:48px}.casebody{padding-bottom:56px}.beats{grid-column:1 / span 7;margin:0}.beats dt{border-top:1px solid var(--ink);padding-top:12px;color:var(--muted)}.beats dd{margin:8px 0 28px;font-size:19px;line-height:1.45;max-width:52ch}.facts{grid-column:9 / span 4}.facts p{margin:6px 0 20px;font-size:17px}.facts .links{display:grid;gap:8px;justify-items:start}.facts .links a{text-decoration:none;border-bottom:1px solid var(--ink)}.facts .links a:hover{color:var(--cobalt);border-color:var(--cobalt)}.shots{display:grid;gap:24px;padding-bottom:56px}.quote{margin:0;padding:48px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.quote blockquote{margin:0;font-size:clamp(1.4rem,3.4vw,2.4rem);font-weight:900;line-height:1.15;letter-spacing:-.02em;max-width:22ch}.quote figcaption{margin-top:16px;color:var(--muted)}.nextcase{display:block;text-decoration:none;padding:40px 0 64px}.nextcase h2{margin:6px 0 0;font-weight:900;line-height:.9;letter-spacing:-.03em;font-size:clamp(2.4rem,8vw,6rem)}.nextcase:hover h2{color:var(--cobalt)}.nextcase .mono{color:var(--muted)}.numbers{list-style:none;margin:0 0 48px;padding:24px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.numbers b{display:block;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:900;line-height:1;letter-spacing:-.03em}.numbers .mono{display:block;margin-top:8px;color:var(--muted);text-transform:none;letter-spacing:.02em;font-size:11px}.system{padding-bottom:56px}.syskicker{display:block;color:var(--muted);border-top:1px solid var(--ink);padding-top:14px;margin-bottom:8px}.system article{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 24px;padding:28px 0;border-top:1px solid var(--rule)}.system article:first-of-type{border-top:0}.system .n{grid-row:1 / span 2;color:var(--muted);padding-top:6px}.system h2{margin:0;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:900;letter-spacing:-.02em;line-height:1.1}.system p{margin:10px 0 0;font-size:18px;line-height:1.55;max-width:62ch}.notfound{padding-block:48px 96px}.notfound h1{margin:0;font-weight:900;line-height:.8;letter-spacing:-.04em;font-size:clamp(6rem,26vw,20rem)}.notfound .lede{margin:.4em 0 0;font-size:clamp(1.1rem,2.4vw,1.6rem);max-width:40ch}.notfound .links{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px}.notfound .links a{text-decoration:none;border-bottom:1px solid var(--ink)}.notfound .links a:hover{color:var(--cobalt);border-color:var(--cobalt)}.cv{padding-block:32px 72px;max-width:78ch}.cv h1{margin:0;font-weight:900;line-height:.85;letter-spacing:-.04em;font-size:clamp(3rem,10vw,6rem)}.cv .lede{margin:.3em 0 0;font-size:clamp(1.05rem,2.2vw,1.35rem);max-width:46ch}.cv .meta{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 0;padding:0;color:var(--muted)}.cv .meta a{text-decoration:none;border-bottom:1px solid var(--rule)}.cv section{margin-top:36px}.cv h2{margin:0 0 12px;color:var(--muted);border-top:1px solid var(--ink);padding-top:12px}.cv p{margin:0;font-size:17px;line-height:1.55}.cv .roles dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;font-weight:900;font-size:clamp(1.15rem,2.4vw,1.5rem);letter-spacing:-.02em;margin-top:20px}.cv .roles dt:first-of-type{margin-top:0}.cv .roles .when{font-weight:400;color:var(--muted)}.cv .roles dd{margin:6px 0 0;font-size:16px;line-height:1.5;max-width:70ch}.cv .skills{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 20px;margin:0}.cv .skills dt{color:var(--muted);padding-top:2px}.cv .skills dd{margin:0;font-size:16px}.cv .bullets{margin:0;padding-inline-start:1.1em}.cv .bullets li{font-size:16px;line-height:1.5;margin-bottom:8px;max-width:70ch}@media print{@page{size:A4;margin:0}nav,footer,.lang,hr.rule{display:none!important}body{font-size:10.5pt}.wrap{padding:0;max-width:none}.cv{padding:9mm 12mm;max-width:none}.cv h1{font-size:26pt}.cv .lede{font-size:11pt}.cv section{margin-top:8pt}.cv h2{padding-top:6pt;margin-bottom:4pt}.cv p,.cv .roles dd,.cv .skills dd,.cv .bullets li{font-size:8.8pt;line-height:1.32}.cv .roles dt{font-size:10.5pt;margin-top:6pt;break-after:avoid}.cv .roles dd{margin-top:3pt}.cv .skills{gap:4px 20px}.cv .bullets li{margin-bottom:3pt}.cv .roles dd,.cv .bullets li{break-inside:avoid}}@media(max-width:767px){.grid{grid-template-columns:1fr;row-gap:20px}.hero .name,.hero .portrait,.hero .meta,.hero .links,.about .photo,.about .txt{grid-column:1 / -1;grid-row:auto}.hero h1:lang(en){font-size:clamp(3rem,15vw,5rem)}.hero h1{font-size:clamp(4.5rem,22vw,7rem);margin-inline-start:0}.contact h2{margin-inline-start:0}.hero .portrait{margin-top:0}.hero .portrait .photo{block-size:auto;inline-size:100%;aspect-ratio:3/4;max-block-size:62vh;margin-inline:0}.gallery{grid-template-columns:1fr;gap:36px}.beats,.facts{grid-column:1 / -1}.facts{padding-bottom:8px}.casecover{margin-inline:0}.worklist li a{grid-template-columns:auto 1fr;gap:2px 16px}.worklist .y{grid-column:2;color:var(--muted)}.casehead .year{position:static;display:block;margin-top:8px}.numbers{grid-template-columns:repeat(2,1fr);gap:20px}.system article{grid-template-columns:1fr;gap:0}.system .n{grid-row:auto;padding:0 0 4px}.system p{font-size:17px}.cv .skills{grid-template-columns:1fr;gap:2px}.cv .skills dd{margin-bottom:10px}nav ul{gap:16px}}@media(prefers-reduced-motion:no-preference){.hero h1{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}.hero .portrait{animation:wipe .9s cubic-bezier(.7,0,.2,1) .25s both}.hero .meta,.hero .links{animation:fade .6s ease .55s both}@keyframes rise{0%{transform:translateY(.35em);opacity:.001}to{transform:none;opacity:1}}@keyframes wipe{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes fade{0%{opacity:.001}to{opacity:1}}.reveal{transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .7s ease}.reveal:not(.in){transform:translateY(24px);opacity:.001}.contact h2 .l{display:inline-block;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s ease;transition-delay:calc(var(--i) * 45ms)}.contact h2:not(.in) .l{transform:translateY(.4em);opacity:.001}.hero .links a,.contact a.mail,nav a,.lang{transition:color .2s ease,border-color .2s ease,background .2s ease}}@media(max-width:1023px)and (min-width:768px){.beats{grid-column:1 / span 12}.facts{grid-column:1 / span 12;padding-top:8px}.gallery{gap:40px 24px}}
