:root{--bg: #fbfaf7;--ink: #16140f;--ink-muted: #6b6659;--ink-soft: #948f83;--rule: #e2ddd2;--rule-strong: #cbc5b8;--surface-alt: #f2efe8;--radius: 4px;--container: 1160px;--gutter: 24px;--gutter-lg: 56px;--header-h: 64px;--t-fast: .2s cubic-bezier(.2, .7, .2, 1);--t-med: .4s cubic-bezier(.2, .7, .2, 1);--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-arabic: "IBM Plex Sans Arabic", system-ui, "Segoe UI", Tahoma, sans-serif;--font-mono: "IBM Plex Mono", "IBM Plex Sans Arabic", ui-monospace, "Cascadia Code", monospace}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-optical-sizing:auto;font-weight:400;font-size:17px;line-height:1.6;letter-spacing:-.005em}html[lang=ar] body{font-family:var(--font-arabic);letter-spacing:0}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none;transition:opacity var(--t-fast),color var(--t-fast)}a:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}img,svg{display:block;max-width:100%;height:auto}::selection{background:var(--ink);color:var(--bg)}.section-eyebrow,.hero__eyebrow,.nav a,.hero__meta dt,.contact__label,.skills__label,.skills__items li,.timeline__date,.lang-switch,.site-footer__inner p,.btn{font-family:var(--font-mono)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}@media (min-width: 1024px){.container{padding-inline:var(--gutter-lg)}}main{display:block;counter-reset:sec}section{padding-block:clamp(72px,11vh,128px);border-block-start:1px solid var(--rule);scroll-margin-top:var(--header-h)}section:first-of-type{border-block-start:0}.section-head{display:grid;grid-template-columns:1fr;gap:8px;margin-block-end:clamp(36px,5vw,64px)}@media (min-width: 768px){.section-head{grid-template-columns:220px 1fr;gap:40px;align-items:baseline}}.section-eyebrow{counter-increment:sec;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.section-eyebrow:before{content:counter(sec,decimal-leading-zero) "  ";color:var(--ink-soft);margin-inline-end:10px}.section-title{font-size:clamp(1.9rem,4vw,3rem);font-weight:500;letter-spacing:-.03em}html[lang=ar] .section-eyebrow,html[lang=ar] .hero__eyebrow,html[lang=ar] .hero__meta dt,html[lang=ar] .contact__label,html[lang=ar] .skills__label,html[lang=ar] .nav a{text-transform:none;letter-spacing:0}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block-end:1px solid var(--rule)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;block-size:var(--header-h)}.brand{font-weight:600;font-size:17px;letter-spacing:-.02em}.nav{display:none;align-items:center;gap:28px}@media (min-width: 900px){.nav{display:flex}}.nav a{font-size:13px;letter-spacing:.01em;color:var(--ink-muted)}.nav a:hover{color:var(--ink);opacity:1}.lang-switch{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500}.lang-switch a,.lang-switch span{padding:6px 9px;border-radius:var(--radius);min-block-size:34px;min-inline-size:34px;display:inline-flex;align-items:center;justify-content:center}.lang-switch a:hover{color:var(--ink);opacity:1;background:var(--surface-alt)}.lang-switch [aria-current=page]{background:var(--ink);color:var(--bg)}.hero{min-block-size:calc(100svh - var(--header-h));display:flex;flex-direction:column;justify-content:center;padding-block:clamp(40px,6vh,72px);border-block-start:0}.hero__eyebrow{align-self:start;display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-block-end:clamp(20px,3vh,32px);padding:6px 12px;border:1px solid var(--rule-strong);border-radius:var(--radius)}.hero__eyebrow:before{content:"";inline-size:7px;block-size:7px;border-radius:2px;background:var(--ink)}.hero__title{font-size:clamp(2.4rem,8vw,5.5rem);font-weight:500;letter-spacing:-.04em;line-height:1;margin-block-end:clamp(20px,3vh,36px)}.hero__title .line{display:block}.hero__title .char{display:inline-block;white-space:pre}@media (prefers-reduced-motion: no-preference){.js-anim .hero__title .line{opacity:0;transform:translateY(.4em);animation:line-rise .7s cubic-bezier(.2,.7,.2,1) forwards}.js-anim .hero__title .line:nth-child(2){animation-delay:90ms}.js-anim .hero__title .line:nth-child(3){animation-delay:.18s}}@keyframes line-rise{to{opacity:1;transform:translateY(0)}}.hero__lede{max-inline-size:54ch;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--ink-muted);margin-block-end:clamp(28px,4vh,44px)}.hero__ctas{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;min-block-size:50px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-size:14px;letter-spacing:.01em;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.btn:hover,.btn--primary{background:var(--ink);color:var(--bg)}.btn--primary:hover{background:var(--bg);color:var(--ink)}.btn__arrow{inline-size:16px;block-size:16px;transition:transform var(--t-fast)}.btn:hover .btn__arrow{transform:translate(4px)}html[dir=rtl] .btn:hover .btn__arrow{transform:translate(-4px) scaleX(-1)}html[dir=rtl] .btn__arrow{transform:scaleX(-1)}.hero__meta{display:flex;flex-wrap:wrap;gap:14px 40px;margin-block-start:clamp(40px,6vh,72px);padding-block-start:clamp(24px,3vh,36px);border-block-start:1px solid var(--rule);font-size:14px;color:var(--ink-muted)}.hero__meta dt{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-block-end:6px}.hero__meta dd{margin:0;color:var(--ink);font-weight:500}html[lang=ar] .hero__meta dt{letter-spacing:0;text-transform:none}.about__lede{font-size:clamp(1.3rem,2.4vw,1.85rem);font-weight:400;letter-spacing:-.015em;line-height:1.4;max-inline-size:34ch}.about__grid{display:grid;gap:clamp(24px,4vw,48px)}@media (min-width: 768px){.about__grid{grid-template-columns:220px 1fr;gap:40px}}.timeline{display:grid;gap:0}.timeline__item{display:grid;gap:12px;padding-block:clamp(24px,3vw,44px);border-block-start:1px solid var(--rule)}.timeline__item:last-child{border-block-end:1px solid var(--rule)}@media (min-width: 768px){.timeline__item{grid-template-columns:220px 1fr;gap:40px;align-items:start}}.timeline__date{font-size:13px;color:var(--ink-muted);unicode-bidi:isolate}.timeline__title{font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:500;letter-spacing:-.02em;margin-block-end:4px}.timeline__org{font-size:15px;color:var(--ink-muted);margin-block-end:18px}.timeline__list{display:grid;gap:6px;font-size:15.5px;color:var(--ink)}.timeline__list li{padding-inline-start:20px;position:relative}.timeline__list li:before{content:"";position:absolute;inset-inline-start:0;top:.7em;inline-size:8px;block-size:1px;background:var(--ink)}.skills__grid{display:grid;gap:0;border-block-start:1px solid var(--rule)}.skills__row{display:grid;gap:12px;padding-block:24px;border-block-end:1px solid var(--rule)}@media (min-width: 768px){.skills__row{grid-template-columns:220px 1fr;gap:40px;align-items:baseline}}.skills__label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}html[lang=ar] .skills__label{letter-spacing:0;text-transform:none}.skills__items{display:flex;flex-wrap:wrap;gap:8px}.skills__items li{padding:6px 12px;border:1px solid var(--rule-strong);border-radius:var(--radius);font-size:12.5px;background:var(--bg);unicode-bidi:plaintext;transition:border-color var(--t-fast),background var(--t-fast)}.skills__items li:hover{border-color:var(--ink);background:var(--surface-alt)}.contact__list{display:grid;gap:0;border-block-start:1px solid var(--rule)}.contact__row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding-block:clamp(18px,2.6vw,28px);border-block-end:1px solid var(--rule);font-size:clamp(1.1rem,2vw,1.6rem);font-weight:500;letter-spacing:-.02em;transition:padding var(--t-fast)}.contact__row:hover{padding-inline-start:12px}html[dir=rtl] .contact__row:hover{padding-inline-start:0;padding-inline-end:12px}.contact__label{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-inline-end:24px;white-space:nowrap}html[lang=ar] .contact__label{letter-spacing:0;text-transform:none}.contact__value{color:var(--ink);unicode-bidi:plaintext}.contact__arrow{inline-size:20px;block-size:20px;color:var(--ink-muted);transition:transform var(--t-fast),color var(--t-fast);flex-shrink:0}.contact__row:hover .contact__arrow{transform:translate(4px,-4px);color:var(--ink)}html[dir=rtl] .contact__arrow{transform:scaleX(-1)}html[dir=rtl] .contact__row:hover .contact__arrow{transform:scaleX(-1) translate(4px,-4px)}.site-footer{border-block-start:1px solid var(--rule);padding-block:36px}.site-footer__inner{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-muted)}.site-footer__inner p{margin:0}@media (prefers-reduced-motion: no-preference){.js-anim .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 60ms)}.js-anim .reveal.is-visible{opacity:1;transform:none}}.lang-banner{position:fixed;inset-inline:16px;inset-block-end:16px;z-index:60;display:none;align-items:center;gap:16px;padding:16px 20px;background:var(--ink);color:var(--bg);border-radius:var(--radius);font-size:14px;max-inline-size:480px;margin-inline:auto}.lang-banner.is-open{display:flex}.lang-banner a{font-weight:500;text-decoration:underline;text-underline-offset:3px}.lang-banner button{margin-inline-start:auto;background:transparent;border:0;color:var(--bg);padding:8px;cursor:pointer;font-size:18px;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;inset-block-start:-100px;inset-inline-start:16px;padding:12px 20px;background:var(--ink);color:var(--bg);border-radius:var(--radius);font-weight:500;z-index:100;transition:top var(--t-fast)}.skip-link:focus{inset-block-start:16px}
