:root{--bg:oklch(0.985 0.004 75);--bg-2:oklch(0.965 0.005 75);--bg-3:oklch(0.94 0.006 75);--ink:oklch(0.18 0.012 70);--ink-2:oklch(0.36 0.012 70);--ink-3:oklch(0.55 0.010 70);--line:oklch(0.88 0.008 75);--line-2:oklch(0.93 0.006 75);--accent:oklch(0.60 0.140 45);--accent-ink:oklch(0.99 0.005 75);--ok:oklch(0.62 0.135 145);--warn:oklch(0.72 0.150 75);--font-display:var(--font-instrument-serif),Georgia,serif;--font-body:var(--font-ibm-plex-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-ibm-plex-mono),ui-monospace,"SF Mono",Menlo,monospace;--font-ar:var(--font-ibm-plex-sans-arabic),system-ui,sans-serif;--font-ar-display:var(--font-amiri),var(--font-ibm-plex-sans-arabic),serif;--radius:10px;--radius-sm:6px;--gutter:clamp(20px,4vw,56px);--col:min(1180px,100% - var(--gutter) * 2);--section-pad:clamp(72px,9vw,140px)}[data-density=compact]{--section-pad:clamp(48px,6vw,96px)}[data-theme=dark]{--bg:oklch(0.155 0.008 60);--bg-2:oklch(0.195 0.009 60);--bg-3:oklch(0.235 0.010 60);--ink:oklch(0.965 0.006 75);--ink-2:oklch(0.78 0.008 70);--ink-3:oklch(0.58 0.010 70);--line:oklch(0.30 0.012 60);--line-2:oklch(0.245 0.010 60);--accent:oklch(0.72 0.135 45);--accent-ink:oklch(0.16 0.01 60)}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16.5px;line-height:1.55;font-feature-settings:"ss01","cv11";transition:background .22s ease,color .22s ease}[lang=ar] body,html[lang=ar]{font-family:var(--font-ar)}html[lang=ar]{direction:rtl}html[lang=ar] .market-tel,html[lang=ar] .mono,html[lang=ar] .num,html[lang=ar] code{direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}html[lang=ar] .market-tel{text-align:right}html[lang=ar] .blog-coming-cta svg,html[lang=ar] .cta-card .cta-btn svg,html[lang=ar] .fn-all-link svg{transform:scaleX(-1)}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--accent-ink)}.mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}.serif{font-family:var(--font-display)}.wrap{width:var(--col);margin-inline:auto}section{padding-block:var(--section-pad);border-top:1px solid var(--line)}section:first-of-type{border-top:0}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);background:color-mix(in oklab,var(--bg) 78%,transparent);border-bottom:1px solid var(--line-2)}.nav-inner{width:var(--col);margin-inline:auto;justify-content:space-between;height:64px;gap:24px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:10px;font-weight:500;letter-spacing:-.01em}.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;font-size:14px;line-height:1;letter-spacing:-.06em}.brand .mark-i{color:var(--bg)}.brand .mark-a{color:var(--accent)}.nav-links{display:flex;gap:4px}.nav-links a{padding:8px 12px;border-radius:var(--radius-sm);font-size:14.5px;color:var(--ink-2);transition:color .16s,background .16s}.nav-links a:hover{color:var(--ink);background:var(--bg-2)}.nav-actions{display:flex;align-items:center;gap:6px}.icon-btn,.pill-btn{height:34px;min-width:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:transparent;color:var(--ink-2);border-radius:999px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:all .16s}.icon-btn:hover,.pill-btn:hover{color:var(--ink);border-color:var(--ink-3);background:var(--bg-2)}.icon-btn svg{width:15px;height:15px}.pill-btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}@media (max-width:760px){.nav-links{display:none}}.hero{padding-block:clamp(32px,5vw,64px) clamp(60px,8vw,120px);border-top:0}.hero-grid{display:grid;grid-template-columns:1fr;grid-gap:56px;gap:56px}.avail{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 10px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--ink-2)}.avail .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 color-mix(in oklab,var(--ok) 60%,transparent);animation:pulse 2.2s ease-out infinite}.avail[data-status=closed] .dot{background:var(--ink-3);animation:none}.avail[data-status=selective] .dot{background:var(--warn)}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--ok) 55%,transparent)}70%{box-shadow:0 0 0 10px color-mix(in oklab,var(--ok) 0%,transparent)}to{box-shadow:0 0 0 0 transparent}}h1.display{font-family:var(--font-display);font-weight:400;font-size:clamp(56px,11vw,156px);line-height:.92;letter-spacing:-.025em;margin:28px 0 0}html[lang=ar] h1.display{font-family:var(--font-ar-display);letter-spacing:0}.display em{font-style:italic;color:var(--accent);font-family:var(--font-display)}html[lang=ar] .display em{font-family:var(--font-ar-display)}.lede{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.35;color:var(--ink-2);max-width:28ch;margin:36px 0 0;letter-spacing:-.005em}html[lang=ar] .lede{font-family:var(--font-ar);max-width:32ch}.hero-meta{margin-top:48px;display:flex;flex-wrap:wrap;gap:28px 40px;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.hero-meta .label{display:block;color:var(--ink-3);margin-bottom:6px;font-size:11px}.hero-meta .value{color:var(--ink);text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:15px}html[lang=ar] .hero-meta .value{font-family:var(--font-ar)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:56px;gap:24px;border-bottom:1px solid var(--line-2);padding-bottom:20px}.section-num{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}.section-title{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,5vw,56px);line-height:1.05;letter-spacing:-.02em;margin:6px 0 0}html[lang=ar] .section-title{font-family:var(--font-ar-display);margin-top:18px}.section-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.about-grid{display:grid;grid-gap:clamp(40px,6vw,96px);gap:clamp(40px,6vw,96px)}@media (max-width:820px){.about-grid{grid-template-columns:1fr}}.about-body p{font-family:var(--font-display);font-size:clamp(22px,2.2vw,28px);line-height:1.4;margin:0 0 24px;color:var(--ink);letter-spacing:-.005em;text-wrap:pretty}html[lang=ar] .about-body p{font-family:var(--font-ar)}.about-aside{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line);-webkit-padding-start:28px;padding-inline-start:28px}.stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line-2);font-family:var(--font-mono);font-size:13px;letter-spacing:.02em}.stat-row:last-child{border-bottom:0}.stat-row .k{color:var(--ink-3);text-transform:uppercase;font-size:11px;letter-spacing:.08em}.stat-row .v{color:var(--ink)}.services-intro{font-family:var(--font-display);font-size:clamp(20px,1.8vw,24px);color:var(--ink-2);max-width:52ch;margin:0 0 56px;line-height:1.4}html[lang=ar] .services-intro{font-family:var(--font-ar)}.track{display:grid;grid-template-columns:220px 1fr;grid-gap:32px;gap:32px;padding-block:40px;border-top:1px solid var(--line-2)}.track:last-child{border-bottom:1px solid var(--line-2)}@media (max-width:760px){.track{grid-template-columns:1fr;gap:20px}}.track-label{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;padding-top:8px}.service-list{display:grid;grid-gap:28px;gap:28px}.service{display:grid;grid-template-columns:32px 1fr auto;grid-gap:18px;gap:18px;align-items:baseline;padding-bottom:28px;border-bottom:1px dashed var(--line-2)}.service:last-child{border-bottom:0;padding-bottom:0}.service-num{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.service-name{font-family:var(--font-display);font-size:clamp(22px,2.2vw,30px);font-weight:400;line-height:1.2;margin:0 0 6px;letter-spacing:-.01em}html[lang=ar] .service-name{font-family:var(--font-ar-display)}.service-desc{color:var(--ink-2);font-size:15px;max-width:56ch;margin:0;text-wrap:pretty}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-gap:24px;gap:24px}.project{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .24s}.project:hover{transform:translateY(-3px);border-color:var(--ink-3);box-shadow:0 18px 40px -20px color-mix(in oklab,var(--ink) 25%,transparent)}.project-body{padding:24px 24px 22px;display:flex;flex-direction:column;gap:14px;flex:1 1}.project-title{font-family:var(--font-display);font-weight:400;font-size:28px;line-height:1.1;margin:0;letter-spacing:-.015em}html[lang=ar] .project-title{font-family:var(--font-ar-display)}.project-desc{color:var(--ink-2);margin:0;font-size:14.5px}.project-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}.tag{font-size:11px;padding:3px 8px;border-radius:4px;background:var(--bg-3);color:var(--ink-2);border:1px solid var(--line-2);letter-spacing:.01em;white-space:nowrap}.project-links,.tag{font-family:var(--font-mono)}.project-links{display:flex;gap:16px;padding:16px 24px;border-top:1px solid var(--line-2);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.project-links a{color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;transition:color .16s}.project-links a:hover{color:var(--accent)}.project-links a svg{width:12px;height:12px}.blog-coming{padding:64px 40px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;background:var(--bg-2)}.blog-coming .lab{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.blog-coming h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.5vw,44px);margin:14px 0 12px;letter-spacing:-.015em}html[lang=ar] .blog-coming h3{font-family:var(--font-ar-display)}.blog-coming p{color:var(--ink-2);max-width:48ch;margin:0 auto}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}.market{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);display:flex;flex-direction:column;gap:14px;transition:border-color .2s}.market:hover{border-color:var(--ink-3)}.market-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.market-flag{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}.market-place{font-family:var(--font-display);font-weight:400;font-size:28px;letter-spacing:-.01em;margin:0}html[lang=ar] .market-place{font-family:var(--font-ar-display)}.market-line,.market-tel{font-family:var(--font-mono);font-size:14px;color:var(--ink-2);margin:0}.market.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.market.primary .market-flag,.market.primary .market-line,.market.primary .market-tel{color:color-mix(in oklab,var(--bg) 70%,transparent)}.btn-primary,.market.primary .market-place{color:var(--bg)}.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:var(--ink);border-radius:999px;font-family:var(--font-mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase;transition:transform .2s,background .2s;border:1px solid var(--ink)}.btn-primary:hover{transform:translateY(-1px);background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}footer{border-top:1px solid var(--line);padding:32px 0 40px;font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.04em}.footer-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:180px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:6px;box-shadow:0 20px 40px -20px color-mix(in oklab,var(--ink) 35%,transparent);display:none;z-index:60}.menu[data-open=true]{display:block}.menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;background:transparent;color:var(--ink-2);cursor:pointer;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-sm);text-align:start}.menu button:hover{background:var(--bg-2);color:var(--ink)}.menu button[aria-current=true]{color:var(--accent)}.menu svg{width:14px;height:14px}[data-theme-icon=dark],[data-theme-icon=light],html[data-theme-pref=dark] [data-theme-icon=system],html[data-theme-pref=light] [data-theme-icon=system],html[lang=ar] [data-lang=en],html[lang=en] [data-lang=ar]{display:none}html[data-theme-pref=dark] [data-theme-icon=dark],html[data-theme-pref=light] [data-theme-icon=light]{display:contents}.exp-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:32px;margin-top:40px;border-top:1px solid var(--line-2)}.exp-foot p{color:var(--ink-3);margin:0;font-size:13px}.exp-cv-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);transition:color .16s;white-space:nowrap}.exp-cv-link:hover{color:var(--ink)}.exp-cv-link svg{width:12px;height:12px}@media (max-width:760px){.exp-foot{flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px;margin-top:24px}}.section-head-aside{display:flex;flex-direction:column;align-items:flex-end;gap:16px;flex-shrink:0}.cv-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);border-radius:999px;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s;cursor:pointer;text-decoration:none}.cv-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:translateY(-1px)}.cv-btn svg{width:14px;height:14px;flex:none}.footer-icon{display:none}@media (max-width:760px){:root{--section-pad:56px;--gutter:20px}body{font-size:16px}.nav-inner{height:56px;gap:12px}.brand{font-size:14px;gap:8px}.brand .mark{width:24px;height:24px;font-size:12px}.nav-links{position:fixed;inset:56px 0 auto 0;display:none;flex-direction:column;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 20px 16px;gap:0;z-index:49;max-height:calc(100vh - 56px);overflow-y:auto}.nav[data-open=true] .nav-links{display:flex}.nav-links a{padding:14px 12px;font-size:17px;color:var(--ink);border-bottom:1px solid var(--line-2);font-family:var(--font-display);letter-spacing:-.005em}.nav-links a:last-child{border-bottom:0}.nav-actions{gap:4px}.icon-btn,.pill-btn{height:36px;min-width:36px;padding:0 10px;font-size:11px}.hamburger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--ink-2);padding:0}.hamburger svg{width:16px;height:16px}.hamburger:hover{color:var(--ink)}.hero{padding-block:32px 60px}h1.display{font-size:clamp(46px,13vw,72px);letter-spacing:-.025em}.lede{font-size:20px;margin-top:28px;max-width:100%}.hero-meta{gap:20px 32px;margin-top:36px}.hero-meta .value{font-size:14px}.riyadh-skyline{height:100px}.hero-grid{padding-bottom:80px}.section-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:32px;padding-bottom:16px}.section-title{font-size:38px;line-height:1.05}.section-tag{display:none}.about-grid{gap:32px}.portrait{width:100%;max-width:280px}.about-aside{-webkit-border-start:0;border-inline-start:0;-webkit-padding-start:0;padding-inline-start:0;border-top:1px solid var(--line);padding-top:16px}.about-body p{font-size:19px}.track{padding-block:28px}.track-label{padding-top:0;padding-bottom:0}.service{grid-template-columns:28px 1fr;gap:14px;padding-bottom:22px}.service-name{font-size:22px}.projects-grid{grid-template-columns:1fr;gap:14px}.project-title{font-size:24px}.exp-card.with-cover .ec-cover{aspect-ratio:5/1.6}.exp-card.with-cover .ec-body{padding:32px 20px 20px}.exp-cards{gap:12px}.blog-coming{padding:40px 24px}.contact-grid{grid-template-columns:1fr;gap:12px}.market{padding:22px}.market-place{font-size:24px}.contact-ctas{grid-template-columns:1fr;gap:12px}.cta-card{padding:28px 24px}.cta-card h3{font-size:26px}.cta-card .cta-btn{align-self:stretch;justify-content:center}.footer-inner{flex-direction:row;gap:10px;align-items:center;justify-content:space-between;font-size:9.5px;flex-wrap:nowrap;letter-spacing:.02em}.footer-inner>div:first-child{flex:1 1;min-width:0;line-height:1.4;white-space:normal;overflow-wrap:break-word;word-break:break-word}.footer-inner .mono{display:inline-flex;gap:14px;flex-shrink:0}.footer-inner .mono a{margin:0!important;padding:6px}.footer-inner .mono a>span.text{display:none}.footer-inner .mono a>.footer-icon{display:inline-flex}.footer-icon svg{width:18px;height:18px}.section-head-aside{flex-direction:row-reverse;align-items:center;gap:12px;align-self:flex-start}.cv-btn{padding:8px 14px 8px 12px;font-size:11px}}@media (max-width:480px){h1.display{font-size:44px}.section-title{font-size:32px}.hero-meta{gap:18px 24px}.hero-meta .value{font-size:13px}}@media (min-width:761px){.hamburger{display:none}}section[id]{scroll-margin-top:80px}.services-tracks{display:block}.hero{position:relative;overflow:hidden}.riyadh-skyline{position:absolute;left:0;right:0;bottom:0;height:clamp(120px,14vw,200px);color:var(--ink);pointer-events:none;margin-top:80px}.riyadh-skyline svg{display:block;width:100%;height:100%}.hero-grid{position:relative;z-index:1;padding-bottom:clamp(80px,12vw,140px)}[data-theme=dark] .riyadh-skyline{opacity:.7}.about-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}@media (max-width:920px){.about-grid{grid-template-columns:1fr}}.portrait{width:200px;aspect-ratio:4/5;border-radius:var(--radius);background:repeating-linear-gradient(135deg,transparent 0 12px,color-mix(in oklab,var(--ink) 8%,transparent) 12px 13px),linear-gradient(160deg,var(--bg-3),var(--bg-2));border:1px solid var(--line);display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden}.portrait:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,color-mix(in oklab,var(--accent) 18%,transparent) 0,transparent 60%)}.portrait span{position:relative;padding:6px 10px;background:color-mix(in oklab,var(--bg) 80%,transparent);border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.exp-card .ec-mark{display:inline-grid;place-items:center;border-radius:8px;font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;color:white;flex:none;width:44px;height:44px;font-size:20px;margin-bottom:4px}.exp-card .ec-head{gap:14px;align-items:center}.exp-card .ec-head>div{flex:1 1}.exp-card .ec-co{font-size:22px}.mk-aajil{background:linear-gradient(135deg,oklch(.52 .16 245),oklch(.45 .18 215))}.mk-noda{background:linear-gradient(135deg,oklch(.58 .12 175),oklch(.5 .14 195))}.mk-noala{background:linear-gradient(135deg,oklch(.55 .18 305),oklch(.48 .2 285))}.mk-hurdle{background:linear-gradient(135deg,oklch(.65 .16 50),oklch(.55 .18 35))}.mk-jlr{background:linear-gradient(135deg,oklch(.35 .05 155),oklch(.25 .04 145))}.ec-mark img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.ec-mark.has-logo{background:var(--bg-2);padding:0;overflow:hidden;border:1px solid var(--line-2)}.exp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:16px;gap:16px}.exp-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);display:flex;flex-direction:column;gap:14px;transition:border-color .2s,transform .22s}.exp-card:hover{border-color:var(--ink-3);transform:translateY(-2px)}.exp-card .ec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.exp-card .ec-co{font-family:var(--font-display);font-size:24px;letter-spacing:-.01em;margin:0}html[lang=ar] .exp-card .ec-co{font-family:var(--font-ar-display)}.exp-card .ec-when{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap}.exp-card .ec-role{font-size:14px;color:var(--ink-2);font-weight:500}.exp-card .ec-desc{font-size:14px;color:var(--ink-2);margin:0;flex:1 1}.exp-card.current{border-color:var(--accent)}.exp-card.current .ec-co{color:var(--accent)}.exp-card.with-cover{padding:0;overflow:hidden}.exp-card.with-cover .ec-cover{aspect-ratio:6/1.4;width:100%;background-size:cover;background-position:50%;position:relative;border-bottom:1px solid var(--line-2)}.exp-card.with-cover .ec-cover .ec-mark{position:absolute;bottom:-22px;inset-inline-start:24px;width:56px;height:56px;border-radius:12px;box-shadow:0 6px 18px -8px color-mix(in oklab,var(--ink) 50%,transparent);background:var(--bg);border:2px solid var(--bg);overflow:hidden}.exp-card.with-cover .ec-body{padding:36px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1 1}.exp-card.with-cover .ec-head{padding:0;display:flex;flex-direction:column;align-items:stretch;gap:4px}.exp-card.with-cover .ec-co{font-size:22px}.exp-card.with-cover .ec-when{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.exp-card.with-cover.current{border-color:var(--accent)}.project-screenshot{display:block;aspect-ratio:16/7;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg-3)}.project-screenshot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:object-position 4s ease-in-out}.project:hover .project-screenshot img{object-position:bottom center}.blog-coming .blog-coming-cta{margin-top:24px}.contact-ctas{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:760px){.contact-ctas{grid-template-columns:1fr}}.cta-card{padding:36px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;gap:14px;transition:border-color .2s,transform .24s}.cta-card:hover{border-color:var(--ink-3);transform:translateY(-2px)}.cta-card .cta-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cta-card h3{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,2.8vw,32px);letter-spacing:-.015em;margin:0;line-height:1.15}html[lang=ar] .cta-card h3{font-family:var(--font-ar-display)}.cta-card p{color:var(--ink-2);margin:0;font-size:14.5px;flex:1 1}.cta-card .cta-bullets{list-style:none;padding:0;margin:0;font-family:var(--font-mono);font-size:12px;color:var(--ink-2);letter-spacing:.02em;display:flex;flex-direction:column;gap:4px}.cta-card .cta-bullets li:before{content:"→ ";color:var(--accent)}html[lang=ar] .cta-card .cta-bullets li:before{content:"← "}.cta-card.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.cta-card.primary .cta-bullets,.cta-card.primary p{color:color-mix(in oklab,var(--bg) 75%,transparent)}.cta-card.primary h3{color:var(--bg)}.cta-card.primary .cta-eyebrow{color:var(--accent)}[data-theme=dark] .cta-card.primary{background:var(--bg-3);color:var(--ink);border-color:var(--line)}[data-theme=dark] .cta-card.primary h3{color:var(--ink)}[data-theme=dark] .cta-card.primary .cta-bullets,[data-theme=dark] .cta-card.primary p{color:var(--ink-2)}[data-theme=dark] .market.primary{background:var(--bg-3);color:var(--ink);border-color:var(--line)}[data-theme=dark] .market.primary .market-place{color:var(--ink)}[data-theme=dark] .market.primary .market-flag,[data-theme=dark] .market.primary .market-line,[data-theme=dark] .market.primary .market-tel{color:var(--ink-2)}.cta-card .cta-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;background:transparent;border:1px solid;color:inherit;transition:background .2s,color .2s}.cta-card .cta-btn svg{width:12px;height:12px}.cta-card.primary .cta-btn{background:var(--bg);color:var(--ink);border-color:var(--bg)}[data-theme=dark] .cta-card.primary .cta-btn{background:var(--ink);color:var(--bg);border-color:var(--ink)}.cta-card.primary .cta-btn:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cta-card:not(.primary) .cta-btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.blog-topnav .back{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px}.blog-topnav .back:hover{color:var(--ink)}@media (max-width:760px){.blog-topnav .back .back-suffix{display:none}}.blog-hero,.empty-state{border-top:0}.blog-hero{padding:clamp(32px,5vw,64px) 0 clamp(48px,6vw,80px)}.blog-hero .eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}.blog-hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(64px,9vw,120px);line-height:.95;letter-spacing:-.025em;margin:0}html[lang=ar] .blog-hero h1{font-family:var(--font-ar-display)}.blog-hero p{font-family:var(--font-display);font-size:clamp(22px,2.4vw,28px);color:var(--ink-2);max-width:36ch;margin:32px 0 0;line-height:1.4}html[lang=ar] .blog-hero p{font-family:var(--font-ar);max-width:42ch}.empty-state{padding:80px 0 120px}.empty-card{border:1px dashed var(--line);border-radius:12px;padding:64px 48px;background:var(--bg-2);display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.empty-card .lab{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase}.empty-card h2{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,5vw,56px);margin:0;letter-spacing:-.015em}html[lang=ar] .empty-card h2{font-family:var(--font-ar-display)}.empty-card p{margin:0;color:var(--ink-2);max-width:56ch}.topics{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}.topic{font-family:var(--font-mono);font-size:11px;padding:4px 10px;border-radius:999px;background:var(--bg-3);border:1px solid var(--line-2);color:var(--ink-2)}.posts-section{padding:16px 0 120px;border-top:0}.posts-filter{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:40px;padding-bottom:18px;border-bottom:1px solid var(--line-2)}.posts-filter .lab{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}html[lang=ar] .posts-filter .lab{font-family:var(--font-ar)}.filter-tags{display:flex;gap:4px;flex-wrap:wrap}.filter-tags button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:999px;cursor:pointer;transition:color .16s,background .16s,border-color .16s}html[lang=ar] .filter-tags button{font-family:var(--font-ar)}.filter-tags button:hover{color:var(--ink);border-color:var(--ink-3)}.filter-tags button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.posts-list{list-style:none;margin:0;padding:0}.post-item{display:block}.post{display:grid;grid-template-columns:120px 1fr auto;grid-gap:24px;gap:24px;padding:28px 0;border-bottom:1px solid var(--line-2);align-items:baseline;transition:background .16s,padding .16s,margin .16s;text-decoration:none;color:inherit}.post:hover{background:var(--bg-2);padding-inline:16px;margin-inline:-16px;border-radius:8px}.post .post-date{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.04em}html[lang=ar] .post .post-date{font-family:var(--font-ar);letter-spacing:0}.post .post-title{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.4vw,28px);margin:0 0 6px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}html[lang=ar] .post .post-title{font-family:var(--font-ar-display)}.post .post-excerpt{color:var(--ink-2);margin:0;font-size:14.5px;max-width:60ch}.post .post-read{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap}html[lang=ar] .post .post-read{font-family:var(--font-ar);letter-spacing:0}.post .post-topic{font-family:var(--font-mono);font-size:10.5px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}html[lang=ar] .post .post-topic{font-family:var(--font-ar);letter-spacing:.02em}@media (max-width:720px){.post{grid-template-columns:1fr;gap:6px;padding-inline:0}.post:hover{padding-inline:12px;margin-inline:-12px}}.fn-populated{display:block}.fn-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}.fn-post-item{display:block}.fn-post{display:grid;grid-template-columns:120px 1fr auto;grid-gap:24px;gap:24px;padding:24px 0;border-bottom:1px solid var(--line-2);align-items:baseline;text-decoration:none;color:inherit;transition:background .16s,padding .16s,margin .16s}.fn-post:hover{background:var(--bg-2);padding-inline:16px;margin-inline:-16px;border-radius:8px}.fn-post .fn-post-date{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.04em}html[lang=ar] .fn-post .fn-post-date{font-family:var(--font-ar);letter-spacing:0}.fn-post .fn-post-topic{font-family:var(--font-mono);font-size:10.5px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}html[lang=ar] .fn-post .fn-post-topic{font-family:var(--font-ar);letter-spacing:.02em}.fn-post .fn-post-title{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.2vw,26px);margin:0 0 6px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}html[lang=ar] .fn-post .fn-post-title{font-family:var(--font-ar-display)}.fn-post .fn-post-excerpt{color:var(--ink-2);margin:0;font-size:14.5px;max-width:60ch}.fn-post .fn-post-read{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap}html[lang=ar] .fn-post .fn-post-read{font-family:var(--font-ar);letter-spacing:0}.fn-foot{padding-top:32px;display:flex;justify-content:flex-start}.fn-all-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);transition:color .16s;white-space:nowrap}html[lang=ar] .fn-all-link{font-family:var(--font-ar);letter-spacing:0;text-transform:none}.fn-all-link:hover{color:var(--ink)}.fn-all-link svg{width:14px;height:14px}@media (max-width:720px){.fn-post{grid-template-columns:1fr;gap:6px;padding-inline:0}.fn-post:hover{padding-inline:12px;margin-inline:-12px}}.article{--col-narrow:min(680px,100% - var(--gutter) * 2);--col-wide:min(1080px,100% - var(--gutter) * 2)}.article-header{padding:clamp(64px,9vw,120px) 0 48px;border-top:0}.article-header-inner{width:var(--col-narrow);margin-inline:auto}.article .crumbs{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}html[lang=ar] .article .crumbs{font-family:var(--font-ar);letter-spacing:.02em;text-transform:none}.article .crumbs a{color:var(--accent)}.article .crumbs a:hover{color:var(--ink)}.article-title{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.02;letter-spacing:-.02em;margin:0 0 28px;text-wrap:balance}html[lang=ar] .article-title{font-family:var(--font-ar-display)}.article-title em{color:var(--accent);font-style:italic}.article-meta{display:flex;flex-wrap:wrap;gap:24px 40px;padding:20px 0 0;font-family:var(--font-mono);font-size:12px;color:var(--ink-2);letter-spacing:.04em;border-top:1px solid var(--line-2)}html[lang=ar] .article-meta{font-family:var(--font-ar);letter-spacing:0}.article-meta .lab{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;display:block;font-size:10.5px;margin-bottom:4px}html[lang=ar] .article-meta .lab{font-family:var(--font-ar);letter-spacing:.02em;text-transform:none}.article-meta .val{color:var(--ink)}.article-hero{width:var(--col-wide);margin:0 auto 56px;aspect-ratio:16/7;border-radius:12px;border:1px solid var(--line);background:radial-gradient(circle at 30% 30%,color-mix(in oklab,var(--accent) 35%,transparent),transparent 50%),radial-gradient(circle at 75% 70%,color-mix(in oklab,var(--accent) 18%,transparent),transparent 60%),linear-gradient(160deg,var(--bg-3),var(--bg-2));overflow:hidden;position:relative;display:grid;place-items:center}.article-hero .hero-mark{font-family:var(--font-display);font-size:clamp(64px,10vw,140px);color:var(--ink);letter-spacing:-.04em;line-height:1;text-align:center;padding:0 12px}html[lang=ar] .article-hero .hero-mark{font-family:var(--font-ar-display)}.article-hero .hero-mark em{color:var(--accent);font-style:italic}.article-body{width:var(--col-wide);margin:0 auto;display:grid;grid-template-columns:1fr min(680px,calc(100% - 280px)) 1fr;grid-gap:0;gap:0;align-items:start}.article .toc{position:-webkit-sticky;position:sticky;top:88px;padding:24px 24px 24px 0;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);-webkit-border-end:1px solid var(--line-2);border-inline-end:1px solid var(--line-2)}html[lang=ar] .article .toc{font-family:var(--font-ar)}.article .toc .lab{font-family:var(--font-mono);display:block;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:10.5px}html[lang=ar] .article .toc .lab{font-family:var(--font-ar);letter-spacing:.02em;text-transform:none}.article .toc a{display:block;padding:4px 0;color:var(--ink-2);text-decoration:none;transition:color .16s;letter-spacing:.02em;line-height:1.45}.article .toc a:hover{color:var(--accent)}.prose{font-family:var(--font-display);font-size:19.5px;line-height:1.7;color:var(--ink);max-width:680px;padding-inline:32px}html[lang=ar] .prose{font-family:var(--font-ar)}.prose>*{margin-block:28px}.prose p{text-wrap:pretty}.prose .dropcap:first-letter{font-family:var(--font-display);font-size:5.5em;line-height:.9;float:inline-start;margin:.05em .1em 0 0;color:var(--accent);font-weight:400}html[lang=ar] .prose .dropcap:first-letter{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:.1em;margin-inline-end:.1em}.prose h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.015em;margin:64px 0 24px;color:var(--ink)}html[lang=ar] .prose h2{font-family:var(--font-ar-display)}.prose h3{font-family:var(--font-display);font-weight:400;font-size:24px;margin:40px 0 16px;letter-spacing:-.01em}html[lang=ar] .prose h3{font-family:var(--font-ar-display)}.prose ol,.prose ul{-webkit-padding-start:24px;padding-inline-start:24px}.prose li{margin-block:8px}.prose code{font-size:.86em;padding:2px 6px;border-radius:4px;border:1px solid var(--line-2)}.prose code,.prose pre{font-family:var(--font-mono);background:var(--bg-2)}.prose pre{margin:32px 0;padding:20px 24px;border:1px solid var(--line);border-radius:10px;overflow-x:auto;font-size:13.5px;line-height:1.55}.prose pre code{padding:0;background:transparent;border:0}.prose blockquote{margin:32px 0;padding-block:4px;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-border-start:3px solid var(--accent);border-inline-start:3px solid var(--accent);font-family:var(--font-display);font-style:italic;font-size:24px;line-height:1.4;color:var(--ink-2)}html[lang=ar] .prose blockquote{font-family:var(--font-ar-display)}html[lang=ar] .prose pre,html[lang=ar] .prose pre code{direction:ltr;text-align:left;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.prose .callout{margin:32px 0;padding:20px 24px;background:color-mix(in oklab,var(--accent) 8%,var(--bg-2));border:1px solid color-mix(in oklab,var(--accent) 30%,var(--line));border-radius:10px;font-family:var(--font-body);font-size:15px;line-height:1.55}html[lang=ar] .prose .callout{font-family:var(--font-ar)}.prose .callout .lab{display:inline-block;font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}html[lang=ar] .prose .callout .lab{font-family:var(--font-ar);letter-spacing:.02em;text-transform:none}@media (max-width:960px){.article-body{grid-template-columns:1fr}.article .toc{display:none}.prose{width:var(--col-narrow);max-width:680px;margin-inline:auto;padding-inline:0}}.article-foot{width:var(--col-narrow);margin:80px auto 0;padding:32px 0 0;border-top:1px solid var(--line-2)}.article .author{display:grid;grid-template-columns:56px 1fr;grid-gap:16px;gap:16px;align-items:center}.article .author-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent),color-mix(in oklab,var(--accent) 50%,var(--ink)));display:grid;place-items:center;color:white;font-family:var(--font-display);font-size:26px;letter-spacing:-.02em}.article .author-info{font-family:var(--font-body);font-size:14px;color:var(--ink-2)}html[lang=ar] .article .author-info{font-family:var(--font-ar)}.article .author-info b{display:block;color:var(--ink);font-weight:500;margin-bottom:2px}.share{margin-top:32px;display:flex;gap:8px;flex-wrap:wrap}.share a{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);text-decoration:none;transition:color .2s,border-color .2s}html[lang=ar] .share a{font-family:var(--font-ar);letter-spacing:0;text-transform:none}.share a:hover{color:var(--ink);border-color:var(--ink-3)}.related{width:var(--col-wide);margin:80px auto 0;padding:48px 0 80px;border-top:1px solid var(--line)}.related .lab{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}html[lang=ar] .related .lab{font-family:var(--font-ar);letter-spacing:.02em;text-transform:none}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:16px;gap:16px}.related-card{padding:24px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .22s}.related-card:hover{border-color:var(--ink-3);transform:translateY(-2px)}.related-card .meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}html[lang=ar] .related-card .meta{font-family:var(--font-ar);letter-spacing:0}.related-card .meta .topic{color:var(--accent)}.related-card h3{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.2;margin:0;letter-spacing:-.01em}html[lang=ar] .related-card h3{font-family:var(--font-ar-display)}