@font-face{font-family:Manline Slabs;src:url(/assets/ManlineSlabs-pgPVy-B2v43BBk.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Alexandria;src:url(/assets/Alexandria-Regular-nZR16Dbm.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Alexandria;src:url(/assets/Alexandria-SemiBold-KizPTzvl.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Alexandria;src:url(/assets/Alexandria-ExtraBold-DlEfwIX3.ttf)format("truetype");font-style:normal;font-weight:800;font-display:swap}@font-face{font-family:Alexandria;src:url(/assets/Alexandria-Black-D9RKMSBQ.ttf)format("truetype");font-style:normal;font-weight:900;font-display:swap}:root{--forest:#1d462a;--sage:#9fb489;--ivory:#fcf9f3;--page:var(--ivory);--ink:var(--forest);--accent:var(--sage);--line:color-mix(in srgb, var(--ink) 22%, transparent);--muted:color-mix(in srgb, var(--ink) 66%, transparent);--surface:color-mix(in srgb, var(--page) 88%, var(--accent));color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--header-height:86px;font-family:Manline Slabs,serif}:root[data-theme=dark]{--page:var(--forest);--ink:var(--ivory);--accent:var(--sage);--line:color-mix(in srgb, var(--ivory) 25%, transparent);--muted:color-mix(in srgb, var(--ivory) 70%, transparent);--surface:color-mix(in srgb, var(--forest) 84%, var(--sage))}:root[data-language=ar]{letter-spacing:normal;font-family:Alexandria,sans-serif}*{box-sizing:border-box}html{background:var(--page);scroll-behavior:auto;min-width:320px}body{background:var(--page);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,a,input,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.projects-showcase button:focus-visible,.projects-showcase a:focus-visible{outline:2px solid var(--projects-text);outline-offset:3px}.featured-project button:focus-visible,.featured-project a:focus-visible{outline:2px solid var(--projects-bg);outline-offset:3px}::selection{color:var(--forest);background:var(--sage)}.ltr{direction:ltr;unicode-bidi:isolate;font-family:Manline Slabs,serif;display:inline-block}.site-shell{background:var(--page);min-height:100vh;color:var(--ink);transition:color .42s,background-color .42s;overflow:visible}.site-header{z-index:100;min-height:var(--header-height);border-block-end:1px solid var(--line);background:color-mix(in srgb, var(--page) 84%, transparent);-webkit-backdrop-filter:blur(18px);grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:2rem;padding-inline:clamp(1rem,3vw,3.5rem);display:grid;position:fixed;inset-block-start:0;inset-inline:0}:root.is-project-revealing .site-header{z-index:995}.brand,.desktop-nav a,.desktop-nav button,.tool-button,.mobile-nav a,.mobile-nav button{color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:none}.brand{justify-self:start;align-items:center;gap:.7rem;padding:0;text-decoration:none;display:inline-flex}.brand-mark{flex:none;place-items:center;width:60px;height:56px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%;transition:filter .32s;display:block}:root[data-theme=dark] .brand-mark img{filter:brightness(0)invert()}.desktop-nav{justify-content:center;align-items:center;gap:clamp(1rem,2vw,2rem);display:flex}.desktop-nav a,.desktop-nav button{color:var(--muted);padding:.4rem 0;font-size:.82rem;text-decoration:none;transition:color .18s;position:relative}.desktop-nav a:after,.desktop-nav button:after{content:"";background:var(--ink);height:1px;transition:transform .18s;position:absolute;inset-block-end:0;inset-inline:0;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a.is-current,.desktop-nav button:hover,.desktop-nav button.is-current{color:var(--ink)}.desktop-nav a.is-current:after,.desktop-nav button.is-current:after{transform:scaleX(1)}.header-tools{justify-self:end;align-items:center;gap:.45rem;display:flex}.tool-button{border:1px solid var(--line);border-radius:999px;place-items:center;min-width:42px;height:42px;padding:0 .7rem;transition:color .18s,background-color .18s,transform .18s;display:grid}.tool-button:hover{color:var(--forest);background:var(--sage);transform:translateY(-2px)}.language-button{font-size:.76rem}.menu-button,.mobile-nav{display:none}.hero{height:100svh;min-height:100svh;padding:var(--header-height) clamp(1rem, 3.5vw, 4.5rem) 0;isolation:isolate;grid-template-columns:minmax(230px,1fr) minmax(360px,40vw) minmax(230px,1fr);align-items:center;gap:clamp(.75rem,2vw,2.75rem);display:grid;position:relative;overflow:hidden}.hero-grid,.placeholder-page__grid{z-index:-3;opacity:.5;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:clamp(42px,4vw,68px) clamp(42px,4vw,68px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 75%,#0000);mask-image:linear-gradient(#0000,#000 18% 75%,#0000)}.hero-left,.hero-identity{z-index:3;min-width:0;padding-block-end:clamp(2rem,8vh,6rem);position:relative}.hero-left{grid-column:1;max-width:clamp(470px,26vw,720px)}.hero-identity{grid-column:3;justify-self:end;max-width:clamp(540px,28vw,760px)}.eyebrow{color:var(--muted);align-items:center;gap:.65rem;margin:0 0 1.25rem;font-size:clamp(.72rem,.85vw,.88rem);line-height:1.5;display:inline-flex}:root[data-language=en] .eyebrow{letter-spacing:.13em}.eyebrow:before{content:"";background:var(--accent);width:1.8rem;height:1px}.hero-title{letter-spacing:-.045em;flex-direction:column;align-items:flex-start;margin:0;font-size:clamp(4rem,6.7vw,10rem);font-weight:400;line-height:.76;display:flex}.hero-title span:last-child{color:#0000;-webkit-text-stroke:1.5px var(--ink);transform:translate(clamp(1rem,3vw,3rem))}.hero-left h2{max-width:680px;margin:0;font-size:clamp(1.65rem,2.05vw,4rem);font-weight:400;line-height:1.15}:root[data-language=ar] .hero-left h2{font-weight:800;line-height:1.35}:root[data-language=ar] .hero-left h2,:root[data-language=ar] .hero-description,:root[data-language=ar] .placeholder-page h1,:root[data-language=ar] .placeholder-page>p:not(.eyebrow),:root[data-language=ar] .button span{letter-spacing:normal;direction:rtl;unicode-bidi:isolate}:root[data-language=ar] .hero-left h2,:root[data-language=ar] .hero-description,:root[data-language=ar] .placeholder-page h1,:root[data-language=ar] .placeholder-page>p:not(.eyebrow){text-align:right}.hero-description{max-width:620px;color:var(--muted);margin:1.25rem 0 0;font-size:clamp(.92rem,1vw,1.35rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-block-start:2rem;display:flex}.button{border:1px solid var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:52px;padding:.85rem 1.25rem;transition:transform .18s,color .18s,background-color .18s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button--primary{color:var(--page);background:var(--ink)}.button--primary svg{transition:transform .18s}.button--primary:hover svg{transform:translate(2px,-2px)}.button--secondary{color:var(--ink);background:0 0}.button--secondary:hover{color:var(--forest);background:var(--sage)}.hero-portrait{z-index:2;grid-column:2;align-self:stretch;align-items:flex-end;min-width:0;display:flex;position:relative}.portrait-figure{width:min(100%, clamp(620px, 38vw, 1320px), calc(100svh - var(--header-height) - .5rem));margin:0 auto}.portrait-frame{aspect-ratio:1;cursor:crosshair;touch-action:pan-y pinch-zoom;position:relative;overflow:hidden}.portrait-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.portrait-image--reveal{--reveal-x:50%;--reveal-y:50%;--reveal-radius:0px;-webkit-mask-image:radial-gradient(circle var(--reveal-radius) at var(--reveal-x) var(--reveal-y), black 0%, black 36%, #0000009e 56%, transparent 78%), url(/assets/photo1-transparent-JXv6Zchg.webp);mask-image:radial-gradient(circle var(--reveal-radius) at var(--reveal-x) var(--reveal-y), black 0%, black 36%, #0000009e 56%, transparent 78%), url(/assets/photo1-transparent-JXv6Zchg.webp);-webkit-mask-position:50%,50%;mask-position:50%,50%;-webkit-mask-size:100% 100%,100% 100%;mask-size:100% 100%,100% 100%;-webkit-mask-repeat:no-repeat,no-repeat;mask-repeat:no-repeat,no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-image:radial-gradient(circle var(--reveal-radius) at var(--reveal-x) var(--reveal-y), black 0%, black 36%, #0000009e 56%, transparent 78%), url(/assets/photo1-transparent-JXv6Zchg.webp);-webkit-mask-composite:source-in;will-change:mask-image, -webkit-mask-image;-webkit-mask-position:50%,50%;-webkit-mask-size:100% 100%,100% 100%;-webkit-mask-repeat:no-repeat,no-repeat}.portrait-corner{z-index:2;pointer-events:none;width:48px;height:48px;position:absolute}.portrait-corner--top{border-block-start:2px solid var(--forest);border-inline-start:2px solid var(--forest);inset-block-start:1rem;inset-inline-start:1rem}.portrait-corner--bottom{border-block-end:2px solid var(--forest);border-inline-end:2px solid var(--forest);inset-block-end:1rem;inset-inline-end:1rem}.hero-meta,.scroll-cue{z-index:4;color:var(--muted);align-items:center;gap:.7rem;font-size:.68rem;display:flex;position:absolute}:root[data-language=en] .hero-meta,:root[data-language=en] .scroll-cue{letter-spacing:.11em}.hero-meta--location{inset-block-end:2rem;inset-inline-start:clamp(1rem,3vw,3.5rem)}.hero-meta__line{background:var(--accent);width:2.5rem;height:1px}.scroll-cue{flex-direction:column;inset-block-end:1.9rem;inset-inline-end:clamp(1rem,3vw,3.5rem)}.scroll-cue__line{background:var(--line);width:1px;height:28px;overflow:hidden}.scroll-cue__line:after{content:"";background:var(--ink);width:1px;height:50%;animation:1.8s ease-in-out infinite scroll-pulse;display:block}.hero-scroll-stage{--hero-exit:0;--hero-content-visible:1;--portal-visible:0;--portal-logo-visible:0;--portal-left-translate:-51vw;--portal-right-translate:51vw;--portal-logo-left-translate:-7vw;--portal-logo-right-translate:7vw;--marquee-visible:0;--marquee-translate-y:110%;--marquee-track-shift:0%;overflow-anchor:none;height:285svh;position:relative}.home-page>.projects-showcase{overflow-anchor:none}.hero-scroll-stage .hero{position:sticky;inset-block-start:0}.hero-scroll-stage .hero-left,.hero-scroll-stage .hero-identity{opacity:var(--hero-content-visible);will-change:opacity;transform:none}.hero-scroll-stage .hero-portrait{opacity:var(--hero-content-visible);transform-origin:bottom;will-change:opacity;transform:none}.hero-scroll-stage .hero-grid{opacity:.5;transform:none}.hero-scroll-stage .hero-meta,.hero-scroll-stage .scroll-cue{opacity:var(--hero-content-visible)}.scroll-portal{z-index:990;opacity:var(--portal-visible);pointer-events:none;will-change:opacity;position:fixed;inset:0;overflow:hidden}.scroll-portal .page-transition__door--left{transform:translateX(var(--portal-left-translate))}.scroll-portal .page-transition__door--right{transform:translateX(var(--portal-right-translate))}.scroll-portal .page-transition__logo{opacity:var(--portal-logo-visible)}.scroll-portal .page-transition__logo-half--left{transform:translateX(var(--portal-logo-left-translate))}.scroll-portal .page-transition__logo-half--right{transform:translateX(var(--portal-logo-right-translate))}.hero-scroll-marquee{z-index:991;border-block:1px solid var(--line);background:color-mix(in srgb, var(--page) 88%, transparent);opacity:var(--marquee-visible);transform:translateY(var(--marquee-translate-y));-webkit-backdrop-filter:blur(16px);will-change:transform, opacity;position:fixed;inset-block-end:0;inset-inline:0;overflow:hidden}.hero-scroll-marquee__track{width:max-content;min-height:44px;color:var(--ink);white-space:nowrap;transform:translateX(var(--marquee-track-shift));will-change:transform;align-items:center;padding-block:clamp(.55rem,.7vw,.8rem);font-size:clamp(.84rem,.9vw,1.05rem);line-height:1.25;display:flex}.hero-scroll-marquee__track span{padding-inline:.3em}:root[data-language=en] .hero-scroll-marquee__track{letter-spacing:.035em}:root[data-language=ar] .hero-scroll-marquee__track{letter-spacing:normal;direction:rtl;font-weight:800;line-height:1.35}.projects-showcase{--projects-bg:var(--ink);--projects-text:var(--page);--projects-muted:color-mix(in srgb, var(--projects-text) 68%, transparent);--projects-line:color-mix(in srgb, var(--projects-text) 20%, transparent);z-index:10;background:var(--projects-bg);min-height:100svh;color:var(--projects-text);scroll-margin-top:var(--header-height);border-radius:clamp(2rem,5vw,5.5rem) clamp(2rem,5vw,5.5rem) 0 0;margin-block-start:-100svh;padding:clamp(5rem,10vw,9rem) clamp(1rem,4.5vw,5.5rem) clamp(5rem,9vw,8rem);position:relative;overflow:visible}.projects-showcase--standalone{border-radius:0;margin-block-start:0;padding-block-start:calc(var(--header-height) + clamp(4rem, 8vw, 8rem))}.projects-showcase__grid{z-index:-1;border-radius:inherit;opacity:.38;background-image:linear-gradient(var(--projects-line) 1px, transparent 1px), linear-gradient(90deg, var(--projects-line) 1px, transparent 1px);background-size:clamp(52px,5vw,84px) clamp(52px,5vw,84px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 38%);mask-image:linear-gradient(#000,#0000 38%)}.projects-intro{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:clamp(2rem,7vw,9rem);max-width:1760px;margin-inline:auto;display:grid}.projects-eyebrow{color:var(--projects-muted);margin:0 0 clamp(1.5rem,3vw,3rem);font-size:clamp(.7rem,.8vw,.88rem)}:root[data-language=en] .projects-eyebrow{letter-spacing:.14em}.projects-intro h1,.projects-intro h2{flex-direction:column;margin:0;font-size:clamp(4rem,10.5vw,12rem);font-weight:400;line-height:.76;display:flex}:root[data-language=en] .projects-intro h2{letter-spacing:-.045em}.projects-intro h2 span:last-child{color:#0000;-webkit-text-stroke:1.5px var(--projects-text)}.projects-intro__description{max-width:520px;color:var(--projects-muted);margin:0 0 .7rem;font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.65}.project-filters{z-index:30;scrollbar-width:none;background:color-mix(in srgb, var(--projects-bg) 88%, transparent);-webkit-backdrop-filter:blur(18px);gap:.6rem;max-width:1760px;margin:clamp(4rem,8vw,8rem) auto clamp(2.5rem,5vw,5rem);padding-block:.8rem;display:flex;position:sticky;inset-block-start:var(--header-height);overflow-x:auto}.project-filters::-webkit-scrollbar{display:none}.project-filters button{border:1px solid var(--projects-line);min-height:42px;color:var(--projects-muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:.65rem 1rem;transition:color .18s,border-color .18s,background-color .18s,transform .18s}.project-filters button:hover{color:var(--projects-text);border-color:var(--projects-text);transform:translateY(-2px)}.project-filters button.is-active{color:var(--projects-bg);border-color:var(--projects-text);background:var(--projects-text)}.projects-showcase{overflow:hidden}.projects-showcase--standalone{min-height:100svh}.projects-intro{grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);align-items:end;gap:clamp(2rem,8vw,10rem);max-width:1480px}.projects-intro h2{font-size:clamp(4rem,8.6vw,9.5rem);line-height:.8}.projects-intro__aside{gap:clamp(1.5rem,3vw,3rem);padding-block-end:.45rem;display:grid}.projects-intro__aside p{max-width:560px;color:var(--projects-muted);margin:0;font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.65}.projects-intro__count{color:var(--projects-muted);align-items:baseline;gap:.55rem;font-size:.76rem;display:inline-flex}.projects-intro__count b{color:var(--projects-text);font-size:clamp(2rem,3vw,3.6rem);font-weight:400;line-height:1}.project-filters{-webkit-backdrop-filter:none;background:0 0;max-width:1480px;margin:clamp(3rem,6vw,6rem) auto clamp(2rem,3.5vw,3.5rem);padding:0;position:static}.project-filters button{min-height:44px;padding-inline:1.15rem}.featured-project{border:1px solid var(--projects-line);background:var(--projects-text);max-width:1480px;color:var(--projects-bg);border-radius:clamp(1.4rem,3vw,3rem);grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:0;margin:clamp(3rem,7vw,7rem) auto 0;display:grid;overflow:hidden}.projects-showcase--standalone .featured-project{margin-block-start:0}.project-media{--media-accent:#bdcda9;--media-deep:#173b24;background:radial-gradient(circle at 78% 14%, color-mix(in srgb, var(--media-accent) 80%, white) 0 12%, transparent 36%), linear-gradient(145deg, var(--media-accent), var(--media-deep));min-height:clamp(320px,38vw,560px);position:relative;overflow:hidden}.project-media--desktop{--media-accent:#d8c69f;--media-deep:#493323}.project-media--mobile{--media-accent:#9fc4c6;--media-deep:#173f45}.project-media--systems{--media-accent:#c2b6d3;--media-deep:#382b49}.project-media>img{width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1);display:block}.project-media__placeholder{isolation:isolate;position:absolute;inset:0}.project-media__placeholder:before{content:"";z-index:-1;opacity:.24;background-image:linear-gradient(#ffffff57 1px,#0000 1px),linear-gradient(90deg,#ffffff57 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 78%);mask-image:linear-gradient(135deg,#000,#0000 78%)}.project-media__chrome{z-index:3;gap:.38rem;display:flex;position:absolute;inset-block-start:clamp(1rem,2vw,1.6rem);inset-inline-start:clamp(1rem,2vw,1.6rem)}.project-media__chrome span{border:1px solid #ffffffc2;border-radius:50%;width:7px;height:7px}.project-media__mockup{aspect-ratio:16/9.5;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fcf9f31a;border:1px solid #ffffff73;border-radius:clamp(.8rem,1.5vw,1.4rem);width:min(72%,740px);padding:clamp(.75rem,1.7vw,1.5rem);position:absolute;inset-block-start:50%;inset-inline-start:50%;overflow:hidden;transform:translate(-50%,-50%)rotate(-3deg);box-shadow:0 30px 90px #0e1f1447}.project-media__mockup:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#ffffff2e,#0000 38%);position:absolute;inset:0}.project-media__mockup-nav{background:#ffffffa8;border-radius:999px;width:42%;height:8px;margin-block-end:16%}.project-media__mockup-copy{gap:clamp(.35rem,.8vw,.7rem);width:52%;display:grid}.project-media__mockup-copy span{background:#ffffffc7;border-radius:999px;height:clamp(7px,.9vw,12px)}.project-media__mockup-copy span:nth-child(2){opacity:.54;width:82%}.project-media__mockup-copy span:nth-child(3){opacity:.38;width:64%}.project-media__mockup-panel{grid-template-columns:repeat(2,1fr);gap:.55rem;width:32%;display:grid;position:absolute;inset-block:22%;inset-inline-end:8%}.project-media__mockup-panel span{background:#ffffff1f;border:1px solid #ffffff57;border-radius:.55rem;min-height:clamp(38px,5vw,86px)}.project-media__mockup-panel span:first-child{grid-column:1/-1}.project-media__number{color:#ffffffe0;font-size:clamp(1.3rem,2.4vw,2.8rem);position:absolute;inset-block-start:clamp(1rem,2vw,1.6rem);inset-inline-end:clamp(1rem,2vw,1.6rem)}.project-media__caption{z-index:3;color:#fff;gap:.25rem;display:grid;position:absolute;inset-block-end:clamp(1rem,2vw,1.6rem);inset-inline-start:clamp(1rem,2vw,1.6rem)}.project-media__caption strong{font-size:clamp(.8rem,1vw,1rem);font-weight:600}.project-media__caption span{color:#ffffffad;font-size:.66rem}.featured-project__content{flex-direction:column;padding:clamp(1.6rem,4vw,4.5rem);display:flex}.featured-project__label{border:1px solid color-mix(in srgb, var(--projects-bg) 24%, transparent);color:color-mix(in srgb, var(--projects-bg) 68%, transparent);border-radius:999px;align-self:flex-start;margin-block-end:clamp(2rem,5vw,5rem);padding:.5rem .75rem;font-size:.7rem}.project-meta{color:color-mix(in srgb, currentColor 58%, transparent);direction:ltr;justify-content:space-between;gap:1rem;font-size:.72rem;display:flex}.featured-project h3{margin:clamp(1.2rem,2vw,2rem) 0 1rem;font-size:clamp(2.8rem,4.8vw,6.2rem);font-weight:400;line-height:.92}.featured-project__content>p{color:color-mix(in srgb, var(--projects-bg) 72%, transparent);margin:0;font-size:clamp(.95rem,1.15vw,1.16rem);line-height:1.65}.project-technologies{flex-wrap:wrap;gap:.45rem;margin-block-start:1.6rem;display:flex}.project-technologies span{border:1px solid color-mix(in srgb, currentColor 22%, transparent);color:inherit;border-radius:999px;padding:.45rem .65rem}.project-cta,.projects-showcase__all{color:inherit;cursor:pointer;background:0 0;border:0}.project-cta{border-block-start:1px solid color-mix(in srgb, var(--projects-bg) 22%, transparent);text-align:start;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-block-start:auto;padding:1.2rem 0 .35rem;font-size:.86rem;display:flex}.project-cta svg,.project-tile__heading svg,.projects-showcase__all svg{transition:transform .22s}.project-cta:hover svg,.project-tile__button:hover .project-tile__heading svg,.projects-showcase__all:hover svg{transform:translate(3px,-3px)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4.5rem) clamp(1.2rem,2.5vw,2.5rem);max-width:1480px;margin:clamp(2.5rem,4vw,4.5rem) auto 0;display:grid}.project-tile{min-width:0}.project-tile__button{width:100%;color:inherit;cursor:pointer;text-align:start;background:0 0;border:0;padding:0;display:block}.project-tile .project-media{aspect-ratio:16/10;border:1px solid var(--projects-line);border-radius:clamp(1rem,2vw,2rem);min-height:0}.project-tile__button:hover .project-media>img{transform:scale(1.025)}.project-tile__button:hover .project-media__mockup{transform:translate(-50%,-50%)rotate(-1deg)scale(1.018)}.project-tile .project-media__mockup{transition:transform .5s cubic-bezier(.2,.75,.25,1)}.project-tile__content{padding-block-start:1.2rem}.project-tile__content .project-meta{color:var(--projects-muted)}.project-tile__heading{justify-content:space-between;align-items:start;gap:1rem;margin-block-start:.75rem;display:flex}.project-tile h3{margin:0;font-size:clamp(2rem,3.6vw,4.2rem);font-weight:400;line-height:1}.project-tile__content>p{max-width:610px;color:var(--projects-muted);margin:1rem 0 0;font-size:clamp(.9rem,1vw,1rem);line-height:1.65}.projects-showcase__all{border-block:1px solid var(--projects-line);text-align:start;justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1480px;margin:clamp(3rem,6vw,6rem) auto 0;padding:1.4rem 0;font-size:clamp(1rem,1.5vw,1.35rem);display:flex}:root[data-language=ar] .projects-intro,:root[data-language=ar] .project-filters,:root[data-language=ar] .featured-project__content,:root[data-language=ar] .project-tile__content,:root[data-language=ar] .projects-showcase__all,:root[data-language=ar] .project-media__caption{letter-spacing:normal;font-family:Alexandria,sans-serif}:root[data-language=ar] .projects-eyebrow,:root[data-language=ar] .projects-intro h1,:root[data-language=ar] .projects-intro h2,:root[data-language=ar] .projects-intro__aside,:root[data-language=ar] .featured-project__content>:not(.project-meta),:root[data-language=ar] .project-tile__content>:not(.project-meta),:root[data-language=ar] .projects-showcase__all,:root[data-language=ar] .project-media__caption{letter-spacing:normal;text-align:right;direction:rtl;unicode-bidi:isolate}:root[data-language=ar] .projects-intro h1,:root[data-language=ar] .projects-intro h2{white-space:normal;font-size:clamp(3.6rem,7vw,8rem);font-weight:900;line-height:1.3}:root[data-language=ar] .projects-intro h2 span:last-child{color:var(--projects-text);-webkit-text-stroke:0}:root[data-language=ar] .projects-intro__aside p,:root[data-language=ar] .featured-project__content>p,:root[data-language=ar] .project-tile__content>p{line-height:1.7}:root[data-language=ar] .featured-project h3,:root[data-language=ar] .project-tile h3{letter-spacing:normal;font-weight:800;line-height:1.35}:root[data-language=ar] .project-meta>span:first-child{letter-spacing:normal;direction:rtl;unicode-bidi:isolate;font-family:Alexandria,sans-serif}@media (width<=900px){.featured-project{grid-template-columns:1fr}.featured-project__content{min-height:440px}}@media (width<=720px){.projects-grid{grid-template-columns:1fr}.project-media{min-height:330px}.project-tile .project-media{aspect-ratio:4/3}}.project-case{min-height:100svh;background:var(--page);color:var(--ink);padding-block-start:calc(var(--header-height) + clamp(2.5rem, 6vw, 6rem));overflow:hidden}.project-case--missing{place-content:center;justify-items:start;gap:2rem;min-height:100svh;padding-inline:clamp(1rem,5vw,5rem);display:grid}.project-case--missing h1{margin:0;font-size:clamp(3rem,9vw,9rem);font-weight:400}.project-case__hero,.project-case__story,.project-case__chapters,.project-gallery>header,.project-gallery__grid,.next-project{max-width:1480px;margin-inline:auto}.project-case__hero{padding-inline:clamp(1rem,4.5vw,5.5rem)}.project-case__back{border:0;border-block-end:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:.65rem;padding:0 0 .35rem;font-size:.78rem;transition:color .18s;display:inline-flex}.project-case__back:hover{color:var(--ink)}.project-case__heading{grid-template-columns:minmax(0,1.3fr) minmax(290px,.55fr);align-items:end;gap:clamp(2rem,8vw,10rem);margin-block-start:clamp(3rem,8vw,8rem);display:grid}.project-case__eyebrow{color:var(--muted);align-items:center;gap:.8rem;margin:0 0 1.2rem;font-size:.72rem;display:flex}.project-case__eyebrow span+span:before{content:"·";padding-inline-end:.8rem}.project-case__heading h1{max-width:1000px;margin:0;font-size:clamp(4.2rem,10vw,11.5rem);font-weight:400;line-height:.78}.project-case__summary{padding-block-end:.5rem}.project-case__summary>p{color:var(--muted);margin:0;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.65}.project-case__year{border-block-start:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:end;gap:1rem;margin-block-start:clamp(2rem,4vw,4rem);padding-block-start:1rem;font-size:.68rem;display:flex}.project-case__year strong{color:var(--ink);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:400;line-height:1}.project-case__cover{max-width:1640px;margin:clamp(3rem,7vw,7rem) auto 0;padding-inline:clamp(1rem,2.5vw,2.5rem)}.project-case__cover .project-media{border-radius:clamp(1.2rem,3vw,3rem);min-height:min(76svh,900px)}.project-case__story{grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:clamp(3rem,10vw,12rem);padding:clamp(6rem,12vw,13rem) clamp(1rem,4.5vw,5.5rem);display:grid}.project-case__story-intro>p,.project-case__facts>div>span,.project-case__chapters article>span,.project-case__chapters article p,.project-gallery>header p,.next-project>span{color:var(--muted);font-size:.7rem}.project-case__story-intro>p,.project-gallery>header p{margin:0 0 1.5rem}.project-case__story-intro h2{max-width:980px;margin:0;font-size:clamp(2.4rem,5vw,6rem);font-weight:400;line-height:1.05}.project-case__facts{align-content:start;display:grid}.project-case__facts>div{border-block-start:1px solid var(--line);padding-block:1.2rem}.project-case__facts>div:last-child{border-block-end:1px solid var(--line)}.project-case__facts ul{gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.project-case__facts li{color:var(--ink);font-size:.9rem;line-height:1.5}.project-case__facts a{color:inherit;align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.project-case__chapters{padding-block-end:clamp(6rem,11vw,12rem);padding-inline:clamp(1rem,4.5vw,5.5rem)}.project-case__chapters article{border-block-start:1px solid var(--line);grid-template-columns:minmax(70px,.2fr) minmax(0,1fr);gap:clamp(1rem,4vw,5rem);padding-block:clamp(2.5rem,5vw,5rem);display:grid}.project-case__chapters article:last-child{border-block-end:1px solid var(--line)}.project-case__chapters article p{margin:0 0 1.2rem}.project-case__chapters article h2{max-width:1050px;margin:0;font-size:clamp(1.8rem,3.4vw,4rem);font-weight:400;line-height:1.2}.project-gallery{background:var(--ink);color:var(--page);padding:clamp(5rem,10vw,10rem) clamp(1rem,4.5vw,5.5rem)}.project-gallery>header{justify-content:space-between;align-items:end;gap:2rem;margin-block-end:clamp(2.5rem,5vw,5rem);display:flex}.project-gallery>header p{color:color-mix(in srgb, var(--page) 64%, transparent)}.project-gallery>header h2{margin:0;font-size:clamp(3.2rem,7vw,8rem);font-weight:400;line-height:.85}.project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);display:grid}.project-gallery figure{margin:0}.project-gallery figure:first-child{grid-column:1/-1}.project-gallery figure img{border-radius:clamp(.8rem,2vw,1.8rem);width:100%;display:block}.project-gallery figcaption{color:color-mix(in srgb, var(--page) 64%, transparent);margin-block-start:.7rem;font-size:.76rem}.project-gallery__placeholder{border:1px solid color-mix(in srgb, var(--ivory) 18%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--sage) 55%, transparent), transparent 68%), color-mix(in srgb, var(--forest) 88%, var(--sage));min-height:clamp(300px,40vw,640px);color:var(--ivory);border-radius:clamp(.8rem,2vw,1.8rem);flex-direction:column;justify-content:space-between;padding:clamp(1.2rem,2.5vw,2.5rem);display:flex;position:relative;overflow:hidden}.project-gallery__placeholder:first-child{grid-column:1/-1;min-height:clamp(420px,55vw,780px)}.project-gallery__placeholder:before{content:"";opacity:.32;background-image:linear-gradient(color-mix(in srgb, var(--ivory) 22%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ivory) 22%, transparent) 1px, transparent 1px);background-size:60px 60px;position:absolute;inset:0}.project-gallery__placeholder>*{z-index:1;position:relative}.project-gallery__placeholder>span{color:color-mix(in srgb, var(--ivory) 75%, transparent);align-self:flex-end;font-size:clamp(1.2rem,2.3vw,2.4rem)}.project-gallery__placeholder strong{color:var(--ivory);font-size:clamp(1.3rem,2vw,2.2rem);font-weight:400;display:block}.project-gallery__placeholder p{max-width:420px;color:color-mix(in srgb, var(--ivory) 78%, transparent);margin:.55rem 0 0;font-size:.82rem;line-height:1.6}.next-project{border:0;border-block:1px solid var(--line);width:calc(100% - clamp(2rem,9vw,11rem));color:var(--ink);cursor:pointer;text-align:start;background:0 0;grid-template-columns:minmax(110px,.3fr) minmax(0,1fr) auto;align-items:center;gap:2rem;margin-block:clamp(4rem,8vw,8rem);padding:clamp(2rem,4vw,4rem) 0;display:grid}.next-project strong{font-size:clamp(2rem,5vw,6rem);font-weight:400;line-height:1}.next-project svg{transition:transform .22s}.next-project:hover svg{transform:translate(5px,-5px)}:root[data-language=ar] .project-case__back,:root[data-language=ar] .project-case__heading,:root[data-language=ar] .project-case__story,:root[data-language=ar] .project-case__chapters,:root[data-language=ar] .project-gallery,:root[data-language=ar] .next-project,:root[data-language=ar] .project-case--missing{letter-spacing:normal;font-family:Alexandria,sans-serif}:root[data-language=ar] .project-case__back span,:root[data-language=ar] .project-case__heading>div>:not(.project-case__eyebrow),:root[data-language=ar] .project-case__summary,:root[data-language=ar] .project-case__story-intro,:root[data-language=ar] .project-case__facts>div,:root[data-language=ar] .project-case__chapters article>div,:root[data-language=ar] .project-gallery>header,:root[data-language=ar] .project-gallery figure,:root[data-language=ar] .project-gallery__placeholder>div,:root[data-language=ar] .next-project>:not(svg):not(.ltr){letter-spacing:normal;text-align:right;direction:rtl;unicode-bidi:isolate}:root[data-language=ar] .project-case__heading h1{font-size:clamp(3.8rem,8vw,9rem);font-weight:900;line-height:1.3}:root[data-language=ar] .project-case__summary>p,:root[data-language=ar] .project-gallery__placeholder p{line-height:1.7}:root[data-language=ar] .project-case__story-intro h2,:root[data-language=ar] .project-case__chapters article h2,:root[data-language=ar] .project-gallery>header h2,:root[data-language=ar] .next-project strong{letter-spacing:normal;font-weight:800;line-height:1.35}@media (width<=900px){.project-case__heading,.project-case__story{grid-template-columns:1fr}.project-case__cover .project-media{min-height:clamp(360px,72vw,680px)}}@media (width<=620px){.project-case__heading h1{font-size:clamp(3.8rem,18vw,6rem);line-height:.86}.project-case__chapters article{grid-template-columns:1fr}.project-gallery>header{display:block}.project-gallery__grid{grid-template-columns:1fr}.project-gallery__placeholder:first-child{grid-column:auto}.project-gallery__placeholder,.project-gallery__placeholder:first-child{min-height:390px}.next-project{grid-template-columns:1fr auto}.next-project>span{grid-column:1/-1}}@keyframes project-scan{0%,to{inset-block-start:12%}50%{inset-block-start:88%}}.placeholder-page{min-height:100svh;padding:calc(var(--header-height) + 3rem) clamp(1rem, 7vw, 8rem) 4rem;flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:relative;overflow:hidden}.placeholder-page h1{margin:0;font-size:clamp(5rem,17vw,16rem);font-weight:400;line-height:.82}:root[data-language=ar] .placeholder-page h1{font-weight:900;line-height:1.3}.placeholder-page>p:not(.eyebrow){max-width:640px;color:var(--muted);margin:2rem 0;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65}.page-transition{z-index:1000;opacity:0;visibility:hidden;pointer-events:none;position:fixed;inset:0;overflow:hidden}.page-transition--active{opacity:1;visibility:visible;pointer-events:auto}.page-transition__door{z-index:1;background-color:var(--ivory);background-image:linear-gradient(color-mix(in srgb, var(--forest) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--forest) 8%, transparent) 1px, transparent 1px);will-change:transform;background-size:clamp(52px,5vw,88px) clamp(52px,5vw,88px);width:calc(50% + 1px);position:absolute;inset-block:0;overflow:hidden}.page-transition__door--left{inset-inline-start:0;transform:translate(-101%)}.page-transition__door--right{inset-inline-end:0;transform:translate(101%)}.page-transition__logo{--logo-travel:clamp(48px, 7vw, 124px);z-index:2;aspect-ratio:1308/1203;opacity:0;pointer-events:none;width:clamp(170px,18vw,300px);position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.page-transition__logo-half{object-fit:contain;filter:none;will-change:transform, opacity;width:100%;height:100%;display:block;position:absolute;inset:0}.page-transition__logo-half--left{clip-path:inset(0 50% 0 0);transform:translateX(calc(var(--logo-travel) * -1))}.page-transition__logo-half--right{clip-path:inset(0 0 0 50%);transform:translateX(var(--logo-travel))}.page-transition--route.page-transition--active .page-transition__door--left{animation:.8s cubic-bezier(.76,0,.24,1) both portal-door-left}.page-transition--route.page-transition--active .page-transition__door--right{animation:.8s cubic-bezier(.76,0,.24,1) both portal-door-right}.page-transition--route.page-transition--active .page-transition__logo{animation:.8s both portal-logo-stage}.page-transition--route.page-transition--active .page-transition__logo-half--left{animation:.8s cubic-bezier(.76,0,.24,1) both portal-logo-left}.page-transition--route.page-transition--active .page-transition__logo-half--right{animation:.8s cubic-bezier(.76,0,.24,1) both portal-logo-right}.page-transition--intro.page-transition--active .page-transition__door--left{animation:.8s cubic-bezier(.76,0,.24,1) both portal-intro-door-left}.page-transition--intro.page-transition--active .page-transition__door--right{animation:.8s cubic-bezier(.76,0,.24,1) both portal-intro-door-right}.page-transition--intro.page-transition--active .page-transition__logo{animation:.8s both portal-intro-logo-stage}.page-transition--intro.page-transition--active .page-transition__logo-half--left{animation:.8s cubic-bezier(.76,0,.24,1) both portal-intro-logo-left}.page-transition--intro.page-transition--active .page-transition__logo-half--right{animation:.8s cubic-bezier(.76,0,.24,1) both portal-intro-logo-right}.mobile-nav{z-index:-1;border-block-end:1px solid var(--line);background:var(--page);opacity:0;visibility:hidden;padding:1rem;transition:opacity .18s,transform .18s,visibility 0s linear .18s;position:fixed;inset-block-start:var(--header-height);inset-inline:0;transform:translateY(-1rem)}.mobile-nav--open{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.mobile-nav a,.mobile-nav button{border:0;border-block-end:1px solid var(--line);width:100%;color:inherit;text-align:start;cursor:pointer;background:0 0;align-items:center;gap:1rem;padding:1rem;text-decoration:none;transition:color .18s;display:flex}.mobile-nav a:hover,.mobile-nav a.is-current,.mobile-nav button:hover,.mobile-nav button.is-current{color:var(--ink);font-weight:600}.mobile-nav__number{color:var(--muted);font-size:.68rem}@keyframes scroll-pulse{0%{transform:translateY(-120%)}55%,to{transform:translateY(220%)}}@keyframes portal-door-left{0%{transform:translate(-101%)}35%,52%{transform:translate(0)}to{transform:translate(-101%)}}@keyframes portal-door-right{0%{transform:translate(101%)}35%,52%{transform:translate(0)}to{transform:translate(101%)}}@keyframes portal-logo-stage{0%,7%,92%,to{opacity:0}16%,84%{opacity:1}}@keyframes portal-logo-left{0%{transform:translateX(calc(var(--logo-travel) * -1))}35%,52%{transform:translate(0)}to{transform:translateX(calc(var(--logo-travel) * -1))}}@keyframes portal-logo-right{0%{transform:translateX(var(--logo-travel))}35%,52%{transform:translate(0)}to{transform:translateX(var(--logo-travel))}}@keyframes portal-intro-door-left{0%,18%{transform:translate(0)}to{transform:translate(-101%)}}@keyframes portal-intro-door-right{0%,18%{transform:translate(0)}to{transform:translate(101%)}}@keyframes portal-intro-logo-stage{0%,68%{opacity:1}to{opacity:0}}@keyframes portal-intro-logo-left{0%,18%{transform:translate(0)}to{transform:translateX(calc(var(--logo-travel) * -1))}}@keyframes portal-intro-logo-right{0%,18%{transform:translate(0)}to{transform:translateX(var(--logo-travel))}}@media (width<=1080px){:root{--header-height:74px}.site-header{grid-template-columns:1fr auto;padding-inline:1rem}.desktop-nav{display:none}.menu-button,.mobile-nav{display:grid}.mobile-nav{display:block}.hero{height:auto;grid-template-columns:1fr;gap:2.2rem;padding-block-start:calc(var(--header-height) + 3rem);padding-block-end:6rem}.hero-scroll-stage{height:auto}.hero-scroll-stage .hero{position:relative}.hero-scroll-stage .hero-left,.hero-scroll-stage .hero-identity,.hero-scroll-stage .hero-portrait,.hero-scroll-stage .hero-grid,.hero-scroll-stage .hero-meta{opacity:var(--hero-content-visible);transform:none}.hero-scroll-marquee__track{min-height:40px;padding-block:.5rem;font-size:.78rem}.hero-left,.hero-identity{grid-column:1;max-width:680px;padding-block-end:0}.hero-identity{grid-row:1;justify-self:start}.hero-portrait{grid-area:2/1;width:min(100%,680px);margin-inline:auto}.hero-left{grid-row:3}.hero-title{font-size:clamp(4.5rem,18vw,9rem)}.scroll-cue{display:none}.projects-showcase{border-radius:clamp(2rem,6vw,4rem) clamp(2rem,6vw,4rem) 0 0;margin-block-start:0}.projects-showcase--standalone{border-radius:0}.projects-intro{grid-template-columns:1fr}.projects-intro__description{max-width:680px}}@media (width<=560px){.brand-mark{width:50px;height:46px}.tool-button{min-width:38px;height:38px}.hero{padding-inline:1rem}.hero-title{font-size:clamp(4rem,23vw,7rem)}.hero-description{font-size:.95rem}.projects-showcase{padding-inline:1rem}.projects-intro h1,.projects-intro h2{overflow-wrap:break-word;word-break:break-word;font-size:clamp(2rem,10.5vw,4.2rem)}:root[data-language=ar] .projects-intro h1,:root[data-language=ar] .projects-intro h2{font-size:clamp(2rem,10vw,3.8rem)}.projects-intro__description{overflow-wrap:anywhere}.project-filters{margin-block-start:3rem}.hero-actions{grid-template-columns:1fr 1fr;display:grid}.button{min-height:48px;padding-inline:.9rem;font-size:.86rem}.hero-meta--location{inset-block-end:1.5rem}.placeholder-page h1{font-size:clamp(4.2rem,22vw,7rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-scroll-stage{height:auto}.hero-scroll-stage .hero{position:relative}.hero-scroll-stage .hero-left,.hero-scroll-stage .hero-identity,.hero-scroll-stage .hero-portrait,.hero-scroll-stage .hero-grid,.hero-scroll-stage .hero-meta{opacity:1;transform:none}.scroll-portal,.hero-scroll-marquee{display:none}.projects-showcase:not(.projects-showcase--standalone){margin-block-start:0}}
