:root{--soft-pink:#ebd9dc;--soft-pink-light:#f6ecee;--ruby:#8e2c48;--ruby-deep:#6e1f37;--plum:#26101c;--plum-deep:#1a0a13;--plum-raised:#331725;--copper:#ce9b7b;--text-on-dark:#f6ecee;--text-on-dark-muted:#cdb3ba;--text-on-light:#26101c;--text-on-light-muted:#5b3a48;--heading-on-light:#8e2c48;--line-dark:#f6ecee24;--line-light:#26101c1f;--glass:#f6ecee14;--copper-tint:#ce9b7b29;--r-sm:8px;--r-md:12px;--r-lg:24px;--r-pill:9999px;--font-display:"Urbanist", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-ui:"Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;--container:1280px;--gutter:clamp(16px, 4vw, 32px);--section-y:clamp(4rem, 12vh, 8rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--plum-deep)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;font-family:var(--font-ui);color:var(--text-on-light);background:var(--soft-pink);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}img,video,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{inset-inline-start:1rem;z-index:100;border-radius:var(--r-sm);background:var(--soft-pink-light);color:var(--plum);padding:.6rem 1rem;font-weight:500;position:absolute;top:-100px}.skip-link:focus{top:1rem}html[lang=ar]{--font-display:"Cairo", "Urbanist", "Segoe UI", Tahoma, sans-serif;--font-ui:"Cairo", "Segoe UI", Tahoma, Arial, sans-serif}html[lang=ar] body{line-height:1.75}html[lang=ar] :is(h1,h2,h3,h4,p,a,button,li,span,dt,dd,summary,.h1,.h2,.h3,.display,.lede,.brand,.closing-type){letter-spacing:0}html[lang=ar] :is(.h1,.h2,.h3,.closing-type,.tool-name){line-height:1.3}.wrap{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section.surface-light+.section.surface-light{padding-top:0}.surface-dark{background:var(--plum);color:var(--text-on-dark)}.surface-light{background:var(--soft-pink);color:var(--text-on-light)}.display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:800;line-height:1.1}.h1{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(2.5rem,5.4vw,4rem);font-weight:800;line-height:1.08}.h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.85rem,3.4vw,2.5rem);font-weight:800;line-height:1.15}.surface-light .h2,.surface-light .h1{color:var(--heading-on-light)}.h3{font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;line-height:1.35}.lede{max-width:58ch;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.55}.surface-light .lede{color:var(--text-on-light-muted)}.surface-dark .lede{color:var(--text-on-dark-muted)}.section-head{gap:.85rem;margin-bottom:clamp(2rem,5vw,3.5rem);display:grid}.section-head.center{text-align:center;justify-items:center}.btn{border-radius:var(--r-sm);white-space:nowrap;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:.7rem 1.5rem;font-size:.875rem;font-weight:500;line-height:1.4;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.btn svg{flex-shrink:0;width:1rem;height:1rem}.btn-light{background:var(--soft-pink-light);color:var(--plum)}.btn-light:hover{background:#fff}.btn-outline-light{border:1px solid var(--text-on-dark);color:var(--text-on-dark)}.btn-outline-light:hover{background:var(--glass)}.btn-dark{background:var(--plum);color:var(--text-on-dark)}.btn-dark:hover{background:var(--plum-raised)}.btn-ruby{background:var(--ruby);color:var(--soft-pink-light)}.btn-ruby:hover{background:var(--ruby-deep)}.btn-outline-dark{border:1px solid var(--line-light);color:var(--plum)}.btn-outline-dark:hover{border-color:var(--plum)}.text-link{text-underline-offset:4px;align-items:center;gap:.35rem;font-weight:500;text-decoration:underline 1px;display:inline-flex}.text-link:hover{text-decoration-thickness:2px}.pill{border-radius:var(--r-pill);background:var(--copper-tint);color:var(--copper);white-space:nowrap;align-items:center;gap:.35rem;padding:.15rem .55rem;font-size:.6875rem;font-weight:500;line-height:1.5;display:inline-flex}.surface-light .pill{color:var(--ruby);background:#8e2c481a}.tag{border-radius:var(--r-pill);border:1px solid var(--line-light);color:var(--text-on-light-muted);white-space:nowrap;padding:.2rem .6rem;font-size:.75rem;line-height:1.5;display:inline-flex}.surface-dark .tag{border-color:var(--line-dark);color:var(--text-on-dark-muted)}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chip{border-radius:var(--r-pill);border:1px solid var(--line-light);min-height:40px;color:var(--text-on-light);padding:.45rem 1.1rem;font-size:.875rem;font-weight:500;transition:background-color .18s,color .18s,border-color .18s}.filter-chip:hover{border-color:var(--plum)}.filter-chip[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:var(--text-on-dark)}.site-top[data-astro-cid-jae56hh5]{inset-inline:0;z-index:30;position:absolute;top:0}.announce[data-astro-cid-jae56hh5]{background:var(--plum-deep);text-align:center;padding:.55rem var(--gutter);font-size:.8125rem;line-height:1.4}.announce[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]{color:var(--copper);align-items:center;gap:.25rem;display:inline-flex}.announce[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]:hover{text-underline-offset:3px;text-decoration:underline}.announce[data-astro-cid-jae56hh5] svg{width:1rem;height:1rem}[dir=rtl] .flip[data-astro-cid-jae56hh5]{transform:scaleX(-1)}.site-header[data-astro-cid-jae56hh5]{color:var(--text-on-dark)}.bar[data-astro-cid-jae56hh5]{max-width:1536px;height:72px;padding-inline:var(--gutter);align-items:center;gap:1rem;margin-inline:auto;display:flex}.brand[data-astro-cid-jae56hh5]{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.55rem;font-size:1.125rem;font-weight:800;display:inline-flex}.brand-mark[data-astro-cid-jae56hh5]{background:var(--copper);width:28px;height:28px;color:var(--plum);border-radius:8px;place-items:center;font-size:1rem;line-height:1;display:grid}.nav[data-astro-cid-jae56hh5]{margin-inline-start:1.5rem}.nav[data-astro-cid-jae56hh5] ul[data-astro-cid-jae56hh5]{gap:.25rem;display:flex}.nav[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]{border-radius:var(--r-sm);color:var(--text-on-dark-muted);padding:.4rem .75rem;font-size:.875rem;font-weight:500;transition:color .18s;display:inline-flex}.nav[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]:hover,.nav[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5][aria-current=page]{color:var(--text-on-dark)}.actions[data-astro-cid-jae56hh5]{align-items:center;gap:.5rem;margin-inline-start:auto;display:flex}.copy-email[data-astro-cid-jae56hh5]{border:1px solid var(--line-dark);border-radius:var(--r-sm);align-items:center;gap:.45rem;height:36px;padding:0 .9rem;font-size:.875rem;font-weight:500;transition:border-color .18s;display:inline-flex}.copy-email[data-astro-cid-jae56hh5]:hover{border-color:#f6ecee66}.copy-email[data-astro-cid-jae56hh5] svg{width:1rem;height:1rem}.resume-link[data-astro-cid-jae56hh5],.hire[data-astro-cid-jae56hh5]{border-radius:var(--r-sm);white-space:nowrap;align-items:center;height:36px;padding:0 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.resume-link[data-astro-cid-jae56hh5]:hover{background:var(--glass)}.hire[data-astro-cid-jae56hh5]{background:var(--soft-pink-light);color:var(--plum)}.hire[data-astro-cid-jae56hh5]:hover{background:#fff}.lang[data-astro-cid-jae56hh5]{position:relative}.lang[data-astro-cid-jae56hh5] summary[data-astro-cid-jae56hh5]{border:1px solid var(--line-dark);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:.4rem;height:36px;padding:0 .65rem;font-size:.875rem;font-weight:500;list-style:none;transition:border-color .18s,background-color .18s;display:inline-flex}.lang[data-astro-cid-jae56hh5] summary[data-astro-cid-jae56hh5]::-webkit-details-marker{display:none}.lang[data-astro-cid-jae56hh5] summary[data-astro-cid-jae56hh5]:hover,.lang[data-astro-cid-jae56hh5][open] summary[data-astro-cid-jae56hh5]{background:var(--glass);border-color:#f6ecee66}.lang[data-astro-cid-jae56hh5] summary[data-astro-cid-jae56hh5] svg{width:1.05rem;height:1.05rem}.lang[data-astro-cid-jae56hh5] .lang-chevron[data-astro-cid-jae56hh5]{width:1rem;height:1rem;color:var(--text-on-dark-muted);transition:transform .2s}.lang[data-astro-cid-jae56hh5][open] .lang-chevron[data-astro-cid-jae56hh5]{transform:rotate(180deg)}.lang-menu[data-astro-cid-jae56hh5]{top:calc(100% + 8px);z-index:40;border:1px solid var(--line-dark);border-radius:var(--r-md);background:var(--plum-raised);min-width:190px;padding:.35rem;position:absolute;inset-inline-end:0;box-shadow:0 20px 50px #0a04088c}.lang[data-astro-cid-jae56hh5][open] .lang-menu[data-astro-cid-jae56hh5]{animation:.16s lang-in}@keyframes lang-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.lang[data-astro-cid-jae56hh5][open] .lang-menu[data-astro-cid-jae56hh5]{animation:none}}.lang-menu[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]{border-radius:var(--r-sm);min-height:44px;color:var(--text-on-dark-muted);justify-content:space-between;align-items:center;gap:1rem;padding:0 .85rem;font-size:.9375rem;font-weight:500;transition:background-color .18s,color .18s;display:flex}.lang-menu[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]:hover,.lang-menu[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5][aria-current=true]{background:var(--glass);color:var(--text-on-dark)}.lang-menu[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5] svg{width:1.1rem;height:1.1rem;color:var(--copper)}.menu-btn[data-astro-cid-jae56hh5]{border:1px solid var(--line-dark);border-radius:var(--r-md);place-items:center;width:44px;height:44px;transition:background-color .18s,border-color .18s;display:none}.menu-btn[data-astro-cid-jae56hh5]:hover,[data-astro-cid-jae56hh5][data-header][data-open] .menu-btn[data-astro-cid-jae56hh5]{background:var(--glass);border-color:#f6ecee59}.menu-btn[data-astro-cid-jae56hh5] svg{width:24px;height:24px}.menu-btn[data-astro-cid-jae56hh5] .i-close,[data-astro-cid-jae56hh5][data-header][data-open] .menu-btn[data-astro-cid-jae56hh5] .i-open{display:none}[data-astro-cid-jae56hh5][data-header][data-open] .menu-btn[data-astro-cid-jae56hh5] .i-close{display:block}.menu[data-astro-cid-jae56hh5]{margin:0 var(--gutter)}.menu-sheet[data-astro-cid-jae56hh5]{border:1px solid var(--line-dark);border-radius:var(--r-lg);background:var(--plum-raised);gap:1.25rem;padding:.5rem .5rem 1.25rem;display:grid;box-shadow:0 24px 60px #0a040880}.menu[data-astro-cid-jae56hh5][data-visible] .menu-sheet[data-astro-cid-jae56hh5]{animation:.22s cubic-bezier(.22,1,.36,1) menu-in}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.menu[data-astro-cid-jae56hh5][data-visible] .menu-sheet[data-astro-cid-jae56hh5]{animation:none}}.menu-links[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]{border-radius:var(--r-md);min-height:54px;font-family:var(--font-display);color:var(--text-on-dark-muted);justify-content:space-between;align-items:center;padding:0 1rem;font-size:1.25rem;font-weight:700;transition:background-color .18s,color .18s;display:flex}.menu-links[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5]:hover,.menu-links[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5][aria-current=page]{background:var(--glass);color:var(--text-on-dark)}.menu-links[data-astro-cid-jae56hh5] a[data-astro-cid-jae56hh5][aria-current=page]:after{content:"";background:var(--copper);border-radius:50%;width:8px;height:8px}.menu-actions[data-astro-cid-jae56hh5]{grid-template-columns:1fr 1fr;gap:.6rem;padding-inline:.5rem;display:grid}.menu-actions[data-astro-cid-jae56hh5] .btn[data-astro-cid-jae56hh5]{padding-inline:.75rem}@media (width<=1100px){.copy-email[data-astro-cid-jae56hh5]{display:none}}@media (width<=960px){.nav[data-astro-cid-jae56hh5],.resume-link[data-astro-cid-jae56hh5]{display:none}.menu-btn[data-astro-cid-jae56hh5]{display:grid}.actions[data-astro-cid-jae56hh5]{gap:.6rem}.hire[data-astro-cid-jae56hh5]{border-radius:var(--r-md);height:44px;padding-inline:1.1rem}.lang[data-astro-cid-jae56hh5] summary[data-astro-cid-jae56hh5]{border-radius:var(--r-md);height:44px}}@media (width<=600px){.announce-more[data-astro-cid-jae56hh5]{display:none}}@media (width<=470px){.brand-name[data-astro-cid-jae56hh5]{display:none}.menu-actions[data-astro-cid-jae56hh5]{grid-template-columns:1fr}}@media (width<=360px){.hire[data-astro-cid-jae56hh5]{padding-inline:.8rem}.lang-chevron[data-astro-cid-jae56hh5]{display:none}}.site-footer[data-astro-cid-bddg4lij]{background:var(--plum-deep);color:var(--text-on-dark-muted);padding-block:4.5rem 2.5rem;font-size:.875rem}.top[data-astro-cid-bddg4lij]{grid-template-columns:1.4fr repeat(3,1fr);gap:2.5rem;display:grid}.brand[data-astro-cid-bddg4lij]{font-family:var(--font-display);color:var(--text-on-dark);font-size:1.5rem;font-weight:800}.intro[data-astro-cid-bddg4lij] p[data-astro-cid-bddg4lij]{max-width:32ch;margin-top:.75rem;line-height:1.6}h2[data-astro-cid-bddg4lij]{color:var(--text-on-dark);margin-bottom:1rem;font-size:.875rem;font-weight:600}.col[data-astro-cid-bddg4lij] ul[data-astro-cid-bddg4lij]{gap:.6rem;display:grid}.col[data-astro-cid-bddg4lij] a[data-astro-cid-bddg4lij]{overflow-wrap:anywhere}.col[data-astro-cid-bddg4lij] a[data-astro-cid-bddg4lij]:hover{color:var(--text-on-dark)}.bottom[data-astro-cid-bddg4lij]{border-top:1px solid var(--line-dark);margin-top:3.5rem;padding-top:1.5rem;font-size:.8125rem}@media (width<=860px){.top[data-astro-cid-bddg4lij]{grid-template-columns:1fr 1fr}.intro[data-astro-cid-bddg4lij]{grid-column:1/-1}}@media (width<=420px){.top[data-astro-cid-bddg4lij]{grid-template-columns:1fr}}.resume{border:1px solid var(--line-dark);border-radius:var(--r-lg);background:var(--plum-raised);width:min(440px,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text-on-dark);margin:auto;padding:0;overflow:visible;box-shadow:0 24px 70px #0a040899}.resume::backdrop{background:#1a0a13b8}.resume[open]{animation:.22s cubic-bezier(.22,1,.36,1) resume-in}.resume[open]::backdrop{animation:.22s resume-fade}@keyframes resume-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes resume-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.resume[open],.resume[open]::backdrop{animation:none}}.resume .panel{gap:.6rem;padding:clamp(1.5rem,5vw,2rem);display:grid;position:relative}.resume .title{font-family:var(--font-display);padding-inline-end:2.5rem;font-size:1.5rem;font-weight:800;line-height:1.2}.resume .text{color:var(--text-on-dark-muted);font-size:.9375rem}.resume .close{top:.9rem;border-radius:var(--r-pill);width:40px;height:40px;color:var(--text-on-dark-muted);place-items:center;transition:background-color .18s,color .18s;display:grid;position:absolute;inset-inline-end:.9rem}.resume .close:hover{background:var(--glass);color:var(--text-on-dark)}.resume .close svg{width:22px;height:22px}.resume .choices{gap:.75rem;margin-top:1rem;display:grid}.resume .choice{border-radius:var(--r-md);background:var(--soft-pink-light);min-height:64px;color:var(--plum);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.15rem;transition:background-color .18s;display:flex}.resume .choice:hover{background:#fff}.resume .choice-text{display:grid}.resume .choice-lang{font-size:1rem;font-weight:600}.resume .choice-meta{color:var(--text-on-light-muted);font-size:.8125rem}.resume .choice-icon{width:24px;height:24px;color:var(--ruby);flex-shrink:0}html.pt-entering:before{content:"";z-index:9998;background:#8e2c48;animation:0s 3s forwards pt-safety;position:fixed;inset:0}@keyframes pt-safety{to{visibility:hidden}}.pt{z-index:9999;pointer-events:none;visibility:hidden;position:fixed;inset:0;overflow:hidden}.pt[data-active]{visibility:visible;pointer-events:auto}.pt-panel{background:var(--ruby);clip-path:inset(100% 0 0);will-change:clip-path;position:absolute;inset:0}.pt-center{place-items:center;display:grid;position:absolute;inset:0}.pt-mark{font-family:var(--font-display);letter-spacing:-.04em;color:#0000;background:var(--face) center 22% / cover no-repeat, var(--plum);-webkit-text-stroke:.015em var(--plum);opacity:0;will-change:transform, opacity;background-clip:text;font-size:clamp(15rem,68vmin,38rem);font-weight:800;line-height:.8;display:block}.pt-caption{text-align:center;color:var(--soft-pink-light);opacity:0;font-size:.8125rem;font-weight:500;position:absolute;bottom:2.25rem;left:0;right:0}@media (prefers-reduced-motion:reduce){.pt,html.pt-entering:before{display:none}}
