.projects[data-astro-cid-pf5okai3]{--preview-gap:18px;--preview-width:min(360px, calc(100vw - 48px));--preview-shadow:0 1px 2px light-dark(#1818180f,#0000004d), 0 12px 36px light-dark(#1818181a,#00000073)}.project-list[data-astro-cid-pf5okai3]{padding:0;list-style:none}.project[data-astro-cid-pf5okai3]{z-index:0;isolation:isolate;position:relative}.project[data-astro-cid-pf5okai3]+.project[data-astro-cid-pf5okai3]{margin-block-start:var(--space-row)}.project-link[data-astro-cid-pf5okai3]{z-index:1;min-block-size:2.5rem;max-inline-size:calc(100% + .75rem);font-size:var(--text-name);font-weight:500;line-height:var(--leading-name);letter-spacing:var(--tracking-name);color:var(--color-text-primary);margin:-.5rem -.375rem;padding:.5rem .375rem;text-decoration:none;display:inline-block;position:relative}a[data-astro-cid-pf5okai3].project-link .project-name[data-astro-cid-pf5okai3]{text-decoration-line:underline;text-decoration-color:var(--color-link-underline);text-underline-offset:5px;text-decoration-skip-ink:auto;text-decoration-thickness:1px;transition:text-decoration-color .18s}.project-link[data-astro-cid-pf5okai3]:focus-visible{outline-offset:-2px;border-radius:var(--radius-control)}@media (hover:hover){a[data-astro-cid-pf5okai3].project-link:hover .project-name[data-astro-cid-pf5okai3]{text-decoration-color:currentColor}}.project-name[data-astro-cid-pf5okai3]:has(+.project-name-ar){margin-inline-end:.2em}.project-name-ar[data-astro-cid-pf5okai3]{font-family:var(--font-ar);letter-spacing:0;white-space:nowrap;color:var(--color-text-muted);font-weight:400;line-height:1}.project-summary[data-astro-cid-pf5okai3]{color:var(--color-text-muted);margin-block-start:.375rem}.project-tagline[data-astro-cid-pf5okai3]{color:var(--color-text-secondary)}.project-meta[data-astro-cid-pf5okai3]{color:var(--color-text-secondary);margin-block-start:.25rem;font-weight:600}.project-meta[data-astro-cid-pf5okai3]>span[data-astro-cid-pf5okai3]{max-inline-size:100%;display:inline-block}.project-meta[data-astro-cid-pf5okai3]>span[data-astro-cid-pf5okai3]:not(:last-child):after{content:" ·"}@supports (content:"x" / ""){.project-meta[data-astro-cid-pf5okai3]>span[data-astro-cid-pf5okai3]:not(:last-child):after{content:" ·" / ""}}.all-projects[data-astro-cid-pf5okai3]{margin-block:calc(var(--space-row) - .5rem) -.5rem;color:var(--color-text-secondary);padding-block:.5rem;display:inline-block}.project-preview[data-astro-cid-pf5okai3]{display:none}.project-preview[data-astro-cid-pf5okai3] picture{block-size:100%;display:block}.project-preview[data-astro-cid-pf5okai3] img,.project-disclosure[data-astro-cid-pf5okai3] img{object-fit:cover;object-position:var(--preview-position,center);border-radius:var(--radius-preview);outline:1px solid var(--color-image-outline);outline-offset:-1px;inline-size:100%;display:block}.project-preview[data-astro-cid-pf5okai3] img{block-size:100%}.project-disclosure[data-astro-cid-pf5okai3]{margin-block-start:.5rem}.project-disclosure[data-astro-cid-pf5okai3]>summary[data-astro-cid-pf5okai3]{min-block-size:1.625rem;font-size:var(--text-meta);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;align-items:center;gap:.25rem;padding-inline:.625rem .5rem;font-weight:500;line-height:1;list-style:none;transition:color .15s,background-color .15s;display:inline-flex;position:relative}.project-disclosure[data-astro-cid-pf5okai3]>summary[data-astro-cid-pf5okai3]::-webkit-details-marker{display:none}.project-disclosure[data-astro-cid-pf5okai3]>summary[data-astro-cid-pf5okai3]:after{content:"";position:absolute;inset:-.5625rem -.25rem}.project-disclosure[data-astro-cid-pf5okai3][open]>summary[data-astro-cid-pf5okai3]{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.chevron[data-astro-cid-pf5okai3]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;transition:rotate .15s var(--ease-out);flex:none}.project-disclosure[data-astro-cid-pf5okai3][open] .chevron[data-astro-cid-pf5okai3]{rotate:180deg}.project-disclosure[data-astro-cid-pf5okai3] img{aspect-ratio:4/3;background-color:var(--color-bg-sunken);block-size:auto;margin-block-start:.75rem}@media not all and (hover:hover) and (pointer:fine){@supports selector(::details-content){.project[data-astro-cid-pf5okai3]:has(>.project-disclosure){grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:1rem;display:grid}.project[data-astro-cid-pf5okai3]:has(>.project-disclosure)>.project-link[data-astro-cid-pf5okai3]{grid-area:1/1;justify-self:start}.project[data-astro-cid-pf5okai3]:has(>.project-disclosure)>[data-astro-cid-pf5okai3]:is(.project-summary,.project-meta){grid-column:1/-1}.project-disclosure[data-astro-cid-pf5okai3]{grid-area:1/1/span 2/-1;grid-template-columns:subgrid;grid-template-rows:subgrid;pointer-events:none;margin:0;display:grid}.project-disclosure[data-astro-cid-pf5okai3]>summary[data-astro-cid-pf5okai3]{pointer-events:auto;grid-area:1/2;align-self:start}.project-disclosure[data-astro-cid-pf5okai3]::details-content{pointer-events:auto;grid-area:2/1/auto/-1}}}@media (hover:hover) and (pointer:fine){.project-disclosure[data-astro-cid-pf5okai3]{display:none}.project-preview[data-astro-cid-pf5okai3]{z-index:0;inline-size:var(--preview-width);aspect-ratio:4/3;background-color:var(--color-bg-sunken);border-radius:var(--radius-preview);box-shadow:var(--preview-shadow);opacity:0;pointer-events:none;translate:var(--preview-shift,0px) 0;margin:0;transition:opacity .28s;display:block;position:absolute;inset-block-end:calc(100% + var(--preview-gap));inset-inline-start:0}.project-preview[data-astro-cid-pf5okai3][data-placement=below]{inset-block-start:calc(100% + var(--preview-gap));inset-block-end:auto}.project[data-astro-cid-pf5okai3]:has(>.project-preview):before{content:"";block-size:var(--preview-gap);pointer-events:none;position:absolute;inset-block-end:100%;inset-inline:0}.project[data-astro-cid-pf5okai3]:has(>.project-preview[data-placement=below]):before{inset-block:100% auto}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active,.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover,.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:has(>.project-link:focus-visible){z-index:20}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project-preview[data-astro-cid-pf5okai3]:has(+.project-link:focus-visible){opacity:1}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active:hover:before,.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active:hover>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover:before,.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover>.project-preview[data-astro-cid-pf5okai3]{pointer-events:auto}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-preview[data-astro-cid-pf5okai3]{filter:blur(8px);transform-origin:24px 100%;transition:opacity .28s ease, filter .36s var(--ease-out), transform .36s var(--ease-out);transform:translateY(10px)scale(.98)}.project-preview[data-astro-cid-pf5okai3][data-placement=below]{transform-origin:24px 0;transform:translateY(-10px)scale(.98)}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project-preview[data-astro-cid-pf5okai3]:has(+.project-link:focus-visible){filter:none;transform:none}}@media (hover:hover) and (pointer:fine){[data-dimmable],.projects :is(.section-label,.project){transition:filter .36s var(--ease-out), opacity .36s var(--ease-out)}.projects .all-projects{transition:filter .36s var(--ease-out), opacity .36s var(--ease-out), text-decoration-color .18s ease}:root:has(.projects.is-enhanced .project.is-active) [data-dimmable],.projects.is-enhanced:has(.project.is-active) :is(.section-label,.all-projects,.project:not(.is-active)),:root:has(.projects:not(.is-enhanced) .project:hover>.project-preview) [data-dimmable],.projects:not(.is-enhanced):has(.project:hover>.project-preview) :is(.section-label,.all-projects,.project:not(:hover)),:root:has(.projects:not(.is-enhanced) .project-preview+.project-link:focus-visible) [data-dimmable],.projects:not(.is-enhanced):has(.project-preview+.project-link:focus-visible) :is(.section-label,.all-projects,.project:not(:has(>.project-link:focus-visible))){filter:blur(6px);opacity:.24}}
