:root{--bg-color: #f4f4f0;--text-main: #111111;--text-dim: #777777;--border-color: #d8d8d8;--font-body: "Space Grotesk", sans-serif;--font-title: "Orbit", sans-serif}[data-theme=dark]{--bg-color: #1a1a1a;--text-main: #f4f4f0;--text-dim: #a0a0a0;--border-color: #333333}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-body);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.page-container{max-width:900px;margin:0 auto;padding:0 2rem}.page-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;border-bottom:1.5px solid var(--text-main);margin-bottom:4rem;font-family:var(--font-title);text-transform:uppercase;font-size:.875rem;letter-spacing:.05em}.page-content h1{font-family:var(--font-body);font-size:3rem;font-weight:500;letter-spacing:-.02em;margin-bottom:1rem}.page-content p{font-size:1.125rem;margin-bottom:1.5rem;max-width:65ch;line-height:1.6}.page-content h2{font-family:var(--font-body);font-weight:500;margin-top:3rem;margin-bottom:1rem;font-size:1.5rem;letter-spacing:-.01em}.vector-grid{display:grid;width:100vw;height:100dvh;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);grid-template-rows:60px 1fr 1fr;background-color:var(--text-main);gap:1px;border:1px solid var(--text-main);overflow:hidden}.vector-grid>*{background-color:var(--bg-color);padding:2.5rem;display:flex;flex-direction:column;overflow-y:auto}.vector-grid>.cell-header{grid-column:1 / 4;grid-row:1 / 2;flex-direction:row;justify-content:space-between;align-items:center;padding:0 2.5rem;font-family:var(--font-title);text-transform:uppercase;font-size:.875rem;letter-spacing:.05em;overflow:hidden;position:sticky;top:0;z-index:100}.cell-intro{grid-column:1 / 2;grid-row:2 / 4;justify-content:space-between}.cell-intro h1{font-family:var(--font-body);font-size:clamp(1.8rem,3.5vw,4rem);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin-bottom:2rem}.cell-intro p{font-size:clamp(1rem,1.5vw,1.25rem);color:var(--text-dim);max-width:420px}.cell-apps{grid-column:2 / 3;grid-row:2 / 3}.cell-sandbox{grid-column:3 / 4;grid-row:2 / 3}.cell-studies{grid-column:2 / 4;grid-row:3 / 4;justify-content:center}.vector-title{font-family:var(--font-title);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2rem;display:flex;align-items:center}.vector-title:before{content:"";display:inline-block;width:10px;height:10px;background-color:var(--text-main);margin-right:.75rem}.vector-list{list-style:none;display:flex;flex-direction:column;gap:1.25rem}.vector-list a{display:flex;align-items:center;font-size:1.125rem;font-weight:500;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);transition:padding-left .2s ease,border-color .2s ease}.vector-list a:hover{padding-left:.5rem;border-bottom-color:var(--text-main)}.vector-list a:after{content:"↗";margin-left:auto;font-family:var(--font-body);opacity:0;transform:translate(-10px);transition:all .2s ease}.vector-list a:hover:after{opacity:1;transform:translate(0)}.vector-list a .project-meta{display:flex;flex-direction:column}.vector-list a .project-desc{font-family:var(--font-body);font-size:.85rem;color:var(--text-dim);text-transform:none;letter-spacing:normal;margin-top:.25rem;font-weight:400}.studies-desc{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.4;margin-bottom:2rem;max-width:60ch;color:var(--text-dim)}.cell-studies .vector-list{flex-direction:row;flex-wrap:wrap;gap:.75rem}.cell-studies .vector-list a{border:1px solid var(--border-color);padding:.5rem 1.25rem;font-size:.875rem;text-transform:uppercase;font-family:var(--font-title);border-radius:0}.cell-studies .vector-list a:hover{background-color:var(--text-main);border-color:var(--text-main);color:var(--bg-color);padding-left:1.25rem}.cell-studies .vector-list a:after{display:none}@media(max-width:1024px){.vector-grid{grid-template-columns:1fr 1fr;grid-template-rows:60px auto auto auto;height:auto;min-height:100dvh;overflow:visible}.vector-grid>*{overflow:visible}.cell-header{grid-column:1 / 3;grid-row:1 / 2}.cell-intro{grid-column:1 / 3;grid-row:2 / 3;min-height:40vh}.cell-apps{grid-column:1 / 2;grid-row:3 / 4}.cell-sandbox{grid-column:2 / 3;grid-row:3 / 4}.cell-studies{grid-column:1 / 3;grid-row:4 / 5}}@media(max-width:640px){.vector-grid{display:flex;flex-direction:column}.vector-grid>*{min-height:auto;padding:2.5rem 1.5rem}.vector-grid>.cell-header{position:sticky;top:0;z-index:100;padding:0 1rem;height:52px;min-height:52px;font-size:.75rem;gap:.5rem;border-bottom:1px solid var(--text-main)}.vector-grid>.cell-header div{gap:.5rem!important}.vector-grid>.cell-header span[data-i18n=role]{display:none}.vector-grid>.cell-header button{white-space:nowrap;flex-shrink:0;font-size:.85rem!important;padding:.25rem!important}}[data-lang=ar]{direction:rtl;--font-body: "Alyamama", sans-serif;--font-title: "Readex Pro", sans-serif}[data-lang=ar] body{font-family:Alyamama,sans-serif;font-size:1.3rem;line-height:1.7}[data-lang=ar] .cell-intro h1{font-family:Readex Pro,sans-serif;letter-spacing:0;line-height:1.35}[data-lang=ar] .cell-intro p{font-family:Alyamama,sans-serif;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.7}[data-lang=ar] .cell-header,[data-lang=ar] .vector-title{font-family:Readex Pro,sans-serif;letter-spacing:0}[data-lang=ar] .vector-title:before{margin-right:0;margin-left:.75rem}[data-lang=ar] .vector-list a{font-family:Readex Pro,sans-serif}[data-lang=ar] .vector-list a .project-desc{font-family:Alyamama,sans-serif;font-size:1.1rem}[data-lang=ar] .vector-list a:hover{padding-left:0;padding-right:.5rem}[data-lang=ar] .vector-list a:after{content:"↖";margin-left:0;margin-right:auto}[data-lang=ar] .studies-desc{font-family:Alyamama,sans-serif;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.7}[data-lang=ar] .social-links a,[data-lang=ar] .cell-studies .vector-list a{font-family:Readex Pro,sans-serif;letter-spacing:0}[data-lang=ar] .cell-studies .vector-list a:hover{padding-right:1.25rem}[data-lang=ar] .study-image-cell{border-right:none;border-left:1px solid var(--text-main)}[data-lang=ar] .study-image-cell:last-child{border-left:none}
