@font-face{font-family:Manrope;src:url('/fonts/manrope-200_800-normal.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:RealityArabic;src:url('/assets/rb-regular.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:RealityArabic;src:url('/assets/rb-bold.woff2') format('woff2');font-display:swap;font-weight:700}
:root{--ground:#f7f9f6;--ink:#173b30;--muted:#52645c;--line:#ccd7d0;--accent:#0f6a48;--ease:cubic-bezier(.22,1,.36,1);--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}::selection{background:#a4c4ad;color:#173b30}button,a{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{border:0;background:none;padding:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #609a72;outline-offset:6px}button:active,.cta:active{scale:.98}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(44px,5.7vw,88px);letter-spacing:-.055em;line-height:1.05}h3{letter-spacing:-.035em}p{max-width:65ch}p+p{margin-top:1em}.wrap{width:90%;max-width:1640px;margin-inline:auto}.section{padding-block:130px}.section-label{font-size:14px;font-weight:500}.skip-link{position:fixed;inset-block-start:10px;inset-inline-start:15px;z-index:300;background:var(--ground);color:var(--ink);padding:12px;translate:0 -170%}.skip-link:focus{translate:0}.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:202}.reading-progress span{display:block;width:100%;height:100%;background:#8cb89a;transform:scaleX(0);transform-origin:left}.header{position:absolute;top:3px;inset-inline:0;z-index:100;height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;color:white;gap:40px;transition:background .5s,color .5s,box-shadow .5s}.header.is-scrolled{position:fixed;background:rgba(247,249,246,.97);color:var(--ink);height:82px;box-shadow:0 1px 0 var(--line)}.brand{width:165px;flex-shrink:0}.brand img{width:100%;height:auto;filter:brightness(0) invert(1)}.is-scrolled .brand img{filter:none}.desktop-nav{display:flex;gap:32px;align-items:center;margin-inline-start:auto}.nav-link{display:inline-block;position:relative;font-size:14px;padding-block:12px;transition:translate .4s var(--ease)}.nav-link:after{content:'';position:absolute;inset-inline-start:0;bottom:7px;width:100%;height:1px;background:currentColor;scale:0 1;transform-origin:left;transition:scale .4s var(--ease)}.nav-link:focus-visible:after,.nav-link:hover:after{scale:1}.nav-link:hover{translate:0 -2px}.header-actions{display:flex;align-items:center;gap:24px;flex-shrink:0;font-size:13px}.language{min-width:24px;padding-block:10px}.language:hover{text-decoration:underline}.header-map{border:1px solid #ffffff70;padding:12px 18px;position:relative;overflow:hidden;transition:background .4s,color .4s}.header-map span{display:inline-block;margin-inline-start:15px;transition:translate .4s var(--ease)}.header-map:hover span{translate:3px -3px}.header-map:hover{background:white;color:var(--ink)}.is-scrolled .header-map{border-color:var(--line)}.is-scrolled .header-map:hover{background:var(--ink);color:white}.menu-toggle{width:30px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:7px;position:relative}.menu-toggle i{display:block;width:28px;height:1px;background:currentColor;transition:rotate .4s,translate .4s}.menu-toggle[aria-expanded=true] i:first-child{rotate:45deg;translate:0 4px}.menu-toggle[aria-expanded=true] i:last-child{rotate:-45deg;translate:0 -4px}.menu-toggle:hover i{width:22px}.header.menu-open{position:fixed;color:white;background:var(--ink)}.header.menu-open .brand img{filter:brightness(0) invert(1)}.menu{position:fixed;inset:0;z-index:90;background:var(--ink);color:#fff;padding:150px 8% 40px;overflow:auto}.menu nav{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.menu .nav-link,.menu nav>a{font-size:clamp(32px,5vw,70px);line-height:1.2;padding:0;letter-spacing:-.04em}.menu p{margin-top:65px;color:#ccd7d0;font-size:14px}.hero{height:116svh;position:relative;background:#173b30}.hero-stage{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;color:white}.hero-media{position:absolute;inset:-6% 0 -8%;overflow:hidden}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:brightness(.9);scale:1.1}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,25,21,.4) 0%,rgba(6,25,21,.05) 40%,rgba(6,25,21,.55) 100%)}.hero-topnote{position:absolute;top:24%;inset-inline-start:5%;font-size:14px;line-height:1.55}.hero-title{position:absolute;inset-inline:4.5%;bottom:19%}.hero h1{font-size:clamp(90px,11.8vw,190px);line-height:.93;letter-spacing:-.065em;font-weight:300}.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line>span{display:block}.hero h1 .line:nth-child(2){margin-inline-start:16%}.hero-bottom{position:absolute;bottom:35px;inset-inline:5%;border-top:1px solid #ffffff66;padding-top:22px;display:grid;grid-template-columns:1fr 1fr 1.4fr;align-items:center;gap:30px;font-size:14px;line-height:1.4}.hero-bottom>p{text-align:center}.scroll-link{display:flex;align-items:center;gap:15px}.circle{border:1px solid currentColor;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:22px;flex-shrink:0;transition:background .4s,color .4s,rotate .4s var(--ease)}.circle.small{width:36px;height:36px;font-size:18px}.scroll-link:hover .circle{rotate:45deg;background:#fff;color:var(--ink)}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid currentColor;padding:17px 22px;position:relative;overflow:hidden;transition:background .5s var(--ease),color .5s var(--ease);font-size:14px;line-height:1.3}.cta span:last-child{font-size:22px;display:inline-block;transition:translate .4s var(--ease)}.cta:hover span:last-child{translate:4px -4px}.cta:hover{background:var(--ink);color:var(--ground)}.hero .cta:hover,footer .cta:hover{background:var(--ground);color:var(--ink)}.map-link{justify-self:end;width:max-content}.map-link svg{width:23px;height:23px}.intro{background:var(--ground);position:relative;z-index:2;padding-top:150px}.intro-grid{display:grid;grid-template-columns:1fr 2.15fr;gap:7%}.intro .section-label{padding-top:12px}.statement{font-size:clamp(48px,5.9vw,94px);max-width:16ch}.intro-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:55px}.intro-body .lead{font-size:23px;line-height:1.45;letter-spacing:-.025em}.intro-body>p:last-child{color:var(--muted);font-size:16px}.planning-scene{display:grid;grid-template-columns:1fr 2.15fr;gap:7%;margin-top:100px;align-items:end}.planning-caption>span{font-size:28px;letter-spacing:-.04em;line-height:1.25;display:block}.planning-caption small{font-size:11px;color:var(--muted);display:block;margin-top:24px;line-height:1.6}.planning-image{aspect-ratio:1.85;overflow:hidden}.planning-image img{width:100%;height:100%;object-fit:cover}.manifesto{position:relative;min-height:1000px;padding:0 5% 85px;background:#e8ede7}.manifesto-picture{height:750px;width:78%;overflow:hidden;position:relative;inset-inline-start:-5.55%}.manifesto-picture img{width:100%;height:115%;object-fit:cover}.manifesto-panel{width:49%;position:relative;margin-top:-310px;margin-inline-start:auto;background:var(--ink);color:#f7f9f6;padding:75px 65px 65px;z-index:2}.manifesto-panel>p:first-child{font-size:13px;margin-bottom:30px}.manifesto-panel h2{font-size:clamp(40px,5.2vw,80px)}.manifesto-body{margin-top:35px;font-size:18px;color:#dbe5dd}.text-action{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;position:relative;padding-bottom:10px;border-bottom:1px solid currentColor;font-size:14px;line-height:1.4}.text-action span{display:inline-block;transition:translate .4s var(--ease)}.text-action:hover span{translate:4px 4px}.text-action:hover{border-bottom-width:2px}.manifesto-panel .text-action{margin-top:40px}.manifesto-caption{font-size:12px;padding-top:25px;color:var(--muted);max-width:45%}.approach{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding-block:150px}.approach h2{margin-top:35px}.approach-heading>p:last-child{margin-top:30px;max-width:37ch;color:var(--muted);font-size:16px}.approach-right{padding-top:70px}.approach-row{border-top:1px solid var(--line);padding-block:24px}.approach-row:last-of-type{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.approach-row summary{display:flex;align-items:center;justify-content:space-between;gap:30px}.approach-row h3{font-size:28px;line-height:1.2}.approach-row summary>span{font-size:27px;transition:rotate .4s}.approach-row[open] summary>span{rotate:45deg}.approach-row p{font-size:16px;color:var(--muted);padding-top:20px;max-width:40ch}.approach-row summary:hover h3{translate:5px 0}.approach-row h3{transition:translate .4s var(--ease)}.approach-right>.text-action{margin-top:35px}.portfolio{background:#ecf1ec;padding-top:130px}.portfolio-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.portfolio-heading>p{max-width:30ch;color:var(--muted);font-size:16px}.portfolio-heading .text-action{margin-top:25px;color:var(--ink)}.filter-bar{margin-top:65px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #b6c7bb;border-bottom:1px solid #b6c7bb;padding-block:10px}.filters{display:flex;gap:24px;flex-wrap:wrap}.filters button{font-size:14px;padding:14px 0;display:flex;align-items:center;gap:8px;transition:translate .35s var(--ease)}.filter-dot{display:inline-block;width:5px;height:5px;background:var(--ink);border-radius:50%;scale:0;transition:scale .35s}.filters button[aria-pressed=true] .filter-dot{scale:1}.filters button[aria-pressed=true]{font-weight:700}.filters button:hover{translate:0 -2px}#project-count{font-size:12px;white-space:nowrap;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:6%;row-gap:75px;padding-top:65px;align-items:start}.project-card:nth-child(even){padding-top:120px}.project-card:last-child{grid-column:1/-1;width:74%;margin-inline:auto;padding-top:10px}.project-open{width:100%;text-align:start;display:block}.project-photo{aspect-ratio:1.3;overflow:hidden;position:relative;background:#d8e1d8}.project-0 .project-photo{aspect-ratio:1.3}.project-card:nth-child(even) .project-photo{aspect-ratio:1.12}.project-card:last-child .project-photo{aspect-ratio:1.9}.project-photo img{width:100%;height:100%;object-fit:cover;transition:scale 1.1s var(--ease)}.project-view{position:absolute;bottom:20px;inset-inline-end:20px;display:flex;align-items:center;gap:22px;background:var(--ground);padding:13px 18px;font-size:13px;opacity:0;translate:0 12px;transition:opacity .4s,translate .5s var(--ease)}.project-view b{font-weight:400;font-size:20px}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted);padding-top:20px}.project-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:10px}.project-title h3{font-size:clamp(26px,2.8vw,42px);line-height:1.2}.project-title .circle{width:38px;height:38px;font-size:19px;border-color:#a9bdb0}.project-open:hover .project-photo img,.project-open:focus-visible .project-photo img{scale:1.055}.project-open:hover .project-view,.project-open:focus-visible .project-view{opacity:1;translate:0 0}.project-open:hover .circle,.project-open:focus-visible .circle{background:var(--ink);color:var(--ground);rotate:45deg}.project-card[hidden]{display:none!important}.project-grid.is-filtered .project-card{padding-top:0}.project-grid.is-filtered .project-card:last-child{grid-column:auto;width:100%}.visual-note{font-size:12px;color:var(--muted);margin-top:60px}.ecosystem{padding-block:140px}.ecosystem-heading{display:grid;grid-template-columns:1fr 2fr;column-gap:7%}.ecosystem-heading h2{grid-column:2}.ecosystem-heading>p:last-child{grid-column:2;margin-top:25px;font-size:18px;color:var(--muted)}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;gap:5%}.partner summary{padding:30px 0;border-bottom:1px solid var(--line)}.partner summary>img{width:100%;height:110px;object-fit:contain;transition:scale .5s var(--ease)}.partner summary>span{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:30px;gap:10px}.partner summary b{font-size:20px;font-weight:400;transition:rotate .4s}.partner[open] summary b{rotate:45deg}.partner p{font-size:14px;padding-top:20px;color:var(--muted)}.partner summary:hover img{scale:1.05}.people{background:#eef1ed;padding-bottom:100px;overflow:hidden}.people-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.people-heading .section-label{margin-bottom:35px}.people-heading>div:last-child{font-size:16px;color:var(--muted)}.rail-controls{display:flex;gap:12px;margin-top:30px}.rail-controls .circle{width:42px;height:42px;font-size:19px}.rail-controls .circle:hover{background:var(--ink);color:var(--ground)}.people-rail{display:flex;overflow:auto;gap:30px;margin-top:65px;padding:0 5% 30px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a2b2a5 transparent}.person{flex:0 0 25%;min-width:250px;text-align:start;scroll-snap-align:start}.person-image{aspect-ratio:.85;position:relative;overflow:hidden;background:#dde5dc}.person-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .7s,scale .9s var(--ease);object-position:center 25%}.person-image .circle{position:absolute;bottom:18px;inset-inline-end:18px;background:var(--ground);color:var(--ink);border-color:transparent}.person h3{font-size:21px;line-height:1.3;margin-top:20px}.person p{font-size:12px;color:var(--muted);margin-top:8px;max-width:30ch}.person:hover .person-image img,.person:focus-visible .person-image img{filter:grayscale(0);scale:1.04}.person:hover .circle{rotate:90deg}.text-team{margin-top:50px}.text-team .person{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 50px;width:100%;align-items:center;padding-block:20px;gap:30px}.text-team h3,.text-team p{margin:0}footer{background:var(--ink);color:var(--ground);padding:65px 0 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;font-size:14px}.top-link span{display:inline-block;margin-inline-start:20px;transition:translate .4s}.top-link:hover span{translate:0 -5px}footer h2{font-size:clamp(64px,8.5vw,140px);margin-top:70px;letter-spacing:-.055em;line-height:1.05}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:50px;border-top:1px solid #ffffff4a;padding-top:35px;margin-top:65px;align-items:start}.contact-phone{font-size:clamp(22px,2.4vw,38px);letter-spacing:-.035em;display:block;width:max-content;line-height:1.3}.contact-phone span{display:inline-block;transition:translate .4s}.contact-phone:hover span{translate:5px -5px}.contact-grid>div{font-size:14px}.contact-grid>div p+p{margin-top:4px;color:#c2d1c5}.office-link{display:inline-block;text-decoration:underline;text-underline-offset:4px;margin-top:15px;font-size:12px}.contact-grid .cta{justify-self:end;width:100%;max-width:290px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ffffff33;padding-top:25px;margin-top:85px;font-size:11px;color:#c2d1c5}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a:hover{text-decoration:underline}dialog{border:0;padding:0;background:var(--ground);color:var(--ink);width:min(1040px,90vw);max-height:88svh;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:rgba(7,25,19,.72);backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:18px;margin-top:18px;margin-inline-start:calc(100% - 64px);z-index:5;background:var(--ground);color:var(--ink);font-size:29px}.dialog-close:hover{background:var(--ink);color:white;rotate:90deg}#detail-content{padding:0 50px 50px;margin-top:-12px}.detail-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:start}.detail-image{width:100%;aspect-ratio:1;object-fit:cover}.detail-kicker{font-size:12px;color:var(--muted);margin-block:10px 18px}.detail-grid h2{font-size:42px;line-height:1.08}.detail-description{font-size:16px;margin-top:24px}.detail-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px;padding:0;list-style:none;font-size:12px}.detail-facts li{border:1px solid var(--line);padding:8px 11px}.detail-grid .text-action{margin-top:30px}.detail-note{font-size:10px;color:var(--muted);margin-top:12px}.bio-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px}.bio-grid.no-image{display:block;max-width:750px;margin:auto}.bio-grid img{width:100%;aspect-ratio:.8;object-fit:cover;object-position:top}.bio-grid h2{font-size:38px;line-height:1.15;margin-top:8px}.bio-copy{font-size:15px;line-height:1.8;margin-top:24px;white-space:pre-line}.not-found{min-height:100svh;padding-block:70px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:30px}.not-found h1{font-size:clamp(60px,8vw,130px);line-height:1;letter-spacing:-.06em}
[dir=rtl]{--sans:RealityArabic,Arial,sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{letter-spacing:-.025em;line-height:1.3}[dir=rtl] .hero h1{font-size:clamp(60px,8vw,128px)}[dir=rtl] .hero h1 .line:nth-child(2){margin-inline-start:20%}[dir=rtl] .hero-title{bottom:18%}[dir=rtl] .hero-topnote{max-width:30ch}[dir=rtl] .contact-phone{font-family:Arial,sans-serif}[dir=rtl] .text-team .circle{justify-self:end}
@media(min-width:1650px){.hero h1{font-size:11vw}.hero-title{bottom:20%}.hero h1 .line:nth-child(2){margin-inline-start:24%}}
@media(max-width:1150px){.desktop-nav{gap:20px}.header{gap:28px}.header-actions{gap:18px}.header-map{display:none}.hero h1{font-size:13vw}.hero-bottom{grid-template-columns:1fr 1.4fr}.hero-bottom>p{display:none}.manifesto-panel{padding:55px 40px;width:54%}.manifesto-picture{height:650px}.manifesto{min-height:900px}.approach{gap:8%}.contact-grid{grid-template-columns:1.4fr 1fr}.contact-grid .cta{grid-column:1/-1;justify-self:start}.partner-grid{gap:4%}.person{flex-basis:29%}.detail-grid{gap:30px}.detail-grid h2{font-size:36px}}
@media(max-width:760px){html{scroll-padding-top:78px}.wrap{width:calc(100% - 44px)}.section{padding-block:80px}h2{font-size:46px;letter-spacing:-.05em}.header{height:88px;padding-inline:22px;gap:16px}.header.is-scrolled{height:72px}.brand{width:126px}.desktop-nav{display:none}.header-actions{gap:20px}.language{font-size:12px}.hero{height:109svh}.hero-stage{height:100svh;min-height:640px}.hero-media{inset:-3% -20% -3%}.hero-media video{object-position:center;scale:1.1}.hero-shade{background:linear-gradient(180deg,rgba(6,25,21,.4),rgba(6,25,21,.08) 38%,rgba(6,25,21,.65))}.hero-topnote{inset-inline-start:23px;top:23%;font-size:12px}.hero-title{inset-inline:22px;bottom:29%}.hero h1{font-size:15.3vw;line-height:1.02;letter-spacing:-.06em}.hero h1 .line:nth-child(2){margin-inline-start:5%}.hero-bottom{inset-inline:22px;bottom:28px;display:flex;flex-direction:column-reverse;align-items:stretch;gap:18px;padding-top:20px;font-size:12px}.hero .cta{width:100%;font-size:13px;justify-content:start;padding:16px 18px;gap:15px}.hero .cta>span:last-child{margin-inline-start:auto}.scroll-link{font-size:12px;justify-content:space-between;flex-direction:row-reverse}.scroll-link .circle{border:0;width:24px;height:24px;font-size:19px}.intro{padding-top:75px}.intro-grid{display:block}.intro .section-label{margin-bottom:28px;padding-top:0;font-size:12px}.statement{font-size:46px}.intro-body{display:block;margin-top:30px}.intro-body .lead{font-size:22px}.intro-body>p:last-child{font-size:16px;margin-top:24px}.planning-scene{margin-top:45px;display:flex;flex-direction:column-reverse;gap:20px;align-items:stretch}.planning-image{aspect-ratio:1.2}.planning-caption{display:flex;justify-content:space-between;gap:24px}.planning-caption>span{font-size:22px}.planning-caption small{font-size:10px;margin-top:0;text-align:end}.manifesto{padding:0 22px 50px;min-height:0}.manifesto-picture{height:360px;inset-inline-start:-22px;width:calc(100% + 44px)}.manifesto-panel{width:100%;padding:36px 28px;margin-top:-55px}.manifesto-panel>p:first-child{font-size:12px;margin-bottom:20px}.manifesto-panel h2{font-size:42px}.manifesto-body{font-size:16px;margin-top:25px}.manifesto-panel .text-action{margin-top:28px}.manifesto-caption{max-width:100%;font-size:10px;padding-top:18px}.approach{display:block;padding-block:80px}.approach h2{margin-top:25px}.approach-heading>p:last-child{font-size:16px}.approach-right{padding-top:35px}.approach-row{padding-block:22px}.approach-row h3{font-size:24px}.approach-row p{font-size:15px}.portfolio-heading{display:block}.portfolio-heading h2{font-size:42px}.portfolio-heading>p{margin-top:25px;font-size:15px}.portfolio-heading>p br{display:none}.portfolio-heading .text-action{margin-top:18px}.filter-bar{margin-top:38px;display:block;padding-top:8px}.filters{gap:7px 20px}.filters button{font-size:12px;padding-block:10px}#project-count{display:block;padding-top:8px;padding-bottom:8px;font-size:10px}.project-grid{display:block;padding-top:30px}.project-card,.project-card:nth-child(even),.project-card:last-child{padding:0;margin-bottom:42px;width:100%}.project-photo,.project-card:nth-child(even) .project-photo,.project-card:last-child .project-photo{aspect-ratio:1.25}.project-meta{font-size:10px;padding-top:14px;gap:10px}.project-title{padding-top:9px}.project-title h3{font-size:28px}.project-title .circle{width:32px;height:32px;font-size:16px}.project-view{display:none}.visual-note{font-size:10px;margin-top:0}.ecosystem-heading{display:block}.ecosystem-heading .section-label{margin-bottom:28px;font-size:12px}.ecosystem-heading h2{font-size:46px}.ecosystem-heading>p:last-child{margin-top:22px;font-size:16px}.partner-grid{grid-template-columns:1fr 1fr;gap:30px 25px;margin-top:35px}.partner summary{padding:18px 0}.partner summary>img{height:82px}.partner summary>span{margin-top:15px;font-size:10px}.partner p{font-size:13px}.people-heading{display:block}.people-heading h2{font-size:43px}.people-heading .section-label{margin-bottom:25px}.people-heading>div:last-child{margin-top:25px;font-size:15px;display:flex;justify-content:space-between;align-items:end;gap:15px}.people-heading>div:last-child p{max-width:26ch}.people-heading>div:last-child br{display:none}.rail-controls{gap:6px;margin:0}.rail-controls .circle{width:35px;height:35px;font-size:17px}.people-rail{gap:18px;margin-top:35px;padding-inline:22px}.person{min-width:0;flex:0 0 73vw}.person h3{font-size:21px}.person p{font-size:12px}.text-team{margin-top:25px}.text-team .person{grid-template-columns:1fr 40px;gap:10px}.text-team .person p{grid-row:2;grid-column:1}.text-team .person .circle{grid-row:1/3;grid-column:2;width:35px;height:35px}.text-team .person h3{font-size:20px}footer{padding-top:45px}.footer-top{font-size:11px;align-items:flex-start;gap:20px}.top-link{white-space:nowrap}.top-link span{margin-inline-start:8px}footer h2{font-size:52px;margin-top:55px}.contact-grid{display:flex;flex-direction:column;gap:30px;margin-top:40px;padding-top:30px}.contact-phone{font-size:28px}.contact-grid .cta{max-width:none;width:100%;font-size:13px}.contact-grid>div{font-size:13px}.footer-bottom{flex-wrap:wrap;gap:25px;margin-top:45px;font-size:10px}.footer-bottom>span:last-child{width:100%;opacity:.8}.footer-bottom>div{gap:15px}dialog{width:calc(100vw - 28px);max-height:91svh}.dialog-close{width:38px;height:38px;font-size:25px;margin-inline-start:calc(100% - 54px);top:15px;margin-top:15px}#detail-content{padding:0 24px 30px;margin-top:0}.detail-grid{display:block}.detail-image{aspect-ratio:1.5}.detail-kicker{font-size:11px;margin-top:22px;margin-bottom:12px}.detail-grid h2{font-size:33px}.detail-description{font-size:15px;margin-top:20px}.detail-facts{font-size:11px}.detail-grid .text-action{font-size:12px}.bio-grid{display:block}.bio-grid img{width:150px;aspect-ratio:1;margin-top:5px;object-position:30% 22%}.bio-grid h2{font-size:31px}.bio-copy{font-size:14px}.menu{padding:130px 25px 30px}.menu nav{gap:22px}.menu .nav-link,.menu nav>a{font-size:36px}[dir=rtl] .hero h1{font-size:10.8vw;line-height:1.4}[dir=rtl] .hero-title{bottom:30%}[dir=rtl] .hero h1 .line:nth-child(2){margin-inline-start:15%}[dir=rtl] h2{font-size:38px}[dir=rtl] .manifesto-panel h2{font-size:34px}[dir=rtl] .approach-row h3{font-size:21px}[dir=rtl] footer h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero{height:100svh}.hero-stage{position:relative}.hero-media video{scale:1}.project-open:hover .project-photo img,.person:hover img{scale:1}.line>span{transform:none!important;opacity:1!important}.project-open:focus-visible .circle{background:var(--ink);color:white}.nav-link:hover{text-decoration:underline}}

.header.is-scrolled .brand img{filter:brightness(0) saturate(100%) invert(19%) sepia(23%) saturate(964%) hue-rotate(104deg) brightness(92%) contrast(90%)}
.line{padding-bottom:.18em;margin-bottom:-.18em}
/* Elementis-style film and oversized continuous headline. */
.hero-title{inset-inline:0;bottom:17%;overflow:hidden;padding-block:12px;direction:ltr}.hero-marquee-track{display:flex;width:max-content;align-items:center;will-change:transform}.hero h1,.marquee-copy{font-size:clamp(100px,12.3vw,210px);font-weight:300;line-height:1.08;letter-spacing:-.065em;white-space:nowrap;padding-inline-end:.55em}.hero h1{padding-inline-start:5vw}.marquee-copy{padding-inline-start:5vw}.hero h1:after,.marquee-copy:after{content:'·';margin-inline-start:.55em}
[dir=rtl] .hero-title{bottom:17%}[dir=rtl] .hero h1,[dir=rtl] .marquee-copy{font-family:RealityArabic,Arial,sans-serif;font-size:clamp(80px,10vw,160px);line-height:1.4;letter-spacing:0}
@media(max-width:760px){.hero-title{inset-inline:22px;bottom:27%;padding-block:6px;overflow:visible;direction:inherit}.hero-marquee-track{display:block;width:100%}.hero h1{white-space:normal;font-size:17.5vw;line-height:1.03;padding:0;max-width:7.5ch}.hero h1:after{content:none}.marquee-copy{display:none}[dir=rtl] .hero-title{bottom:29%}[dir=rtl] .hero h1{font-size:11.5vw;line-height:1.4;max-width:11ch}}
@media(prefers-reduced-motion:reduce) and (min-width:761px){.hero h1{font-size:9vw}.marquee-copy{display:none}}
.hero h1,.marquee-copy{word-spacing:.025em}
/* Hero handoff: exact Elementis 30-band mask progression. */
:root{--hero-transition-color:#2b3530}
.hero{height:100svh;background:var(--hero-transition-color)}
.hero-stage{position:relative;isolation:isolate}
.hero-media{z-index:0}
.hero-transition-mask{position:absolute;inset:0;z-index:1;background:var(--hero-transition-color);pointer-events:none;mask-image:var(--mask-gradient,linear-gradient(transparent,transparent));-webkit-mask-image:var(--mask-gradient,linear-gradient(transparent,transparent));mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;will-change:mask-image}
.hero-shade{z-index:2}
.hero-topnote,.hero-title,.hero-bottom{z-index:3}
.intro{background:var(--hero-transition-color);color:var(--ground)}
.intro-body>p:last-child,.intro .planning-caption small{color:#cbd5cd}
@media(prefers-reduced-motion:reduce){.hero-transition-mask{display:none}}
.hero-transition-mask{z-index:2}.hero-shade{z-index:1}
/* Every page entry: authentic vector logo parts on one solid field. */
#brand-intro{display:none;position:fixed;inset:0;z-index:1000;background:#2b3530;align-items:center;justify-content:center;pointer-events:all}
.intro-pending #brand-intro{display:flex}.intro-pending body{overflow:hidden}
.intro-logo{width:230px;height:auto;overflow:visible}.intro-logo-part{transform-box:fill-box;transform-origin:center}
/* Edge-to-edge video, top aligned crop as in the supplied sketch. */
.hero-media{inset:0;background:#2b3530}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center top;scale:1;filter:none}
.hero-stage{min-height:0}.hero-shade{background:linear-gradient(180deg,rgba(6,25,21,.28),transparent 38%,rgba(6,25,21,.46))}
.nav-link:after{transform-origin:left;transition:scale 1.05s cubic-bezier(.24,.43,.15,.97)}
/* Shared media mask and the reference's proportional inner-image drift. */
.planning-image,.project-photo,.person-image{position:relative;overflow:hidden;isolation:isolate}
.planning-image>img,.project-photo>img,.person-image>img{will-change:transform}
/* Pinned three-chapter image story. Static and reduced-motion show all copy. */
.pinned-story{background:#2b3530;color:#f7f9f6;position:relative;scroll-margin-top:0}
.story-scene{position:relative;overflow:hidden}.story-backdrops,.story-card-images,.story-side-label,.story-poster-shade,.story-controls,.story-photo-note{display:none}
.story-poster{position:relative}.story-page{padding:70px 7%;border-top:1px solid #ffffff30}.story-page h2{font-size:clamp(36px,4vw,60px);margin-block:30px 25px}.story-page p{font-size:18px;max-width:55ch}.story-static-img{width:min(100%,700px);height:auto;margin-bottom:30px}
.story-skip{display:block;padding:20px 7%;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.has-motion .story-scene{height:100svh;min-height:680px;display:flex;align-items:center;justify-content:center}
.has-motion .story-backdrops{display:block;position:absolute;inset:0;pointer-events:none}.story-backdrops:after{content:'';position:absolute;inset:0;background:rgba(5,17,12,.28);z-index:4}
.story-bg{position:absolute;inset:0;overflow:hidden;will-change:mask-image;mask-image:var(--mask-gradient,linear-gradient(transparent,transparent));-webkit-mask-image:var(--mask-gradient,linear-gradient(transparent,transparent));mask-size:100% 100%;-webkit-mask-size:100% 100%}.story-bg-0{mask-image:none;-webkit-mask-image:none}
.story-bg img{width:100%;height:100%;object-fit:cover}
.has-motion .story-side-label{display:flex;position:absolute;inset-inline:5%;top:50%;justify-content:space-between;align-items:center;z-index:5;pointer-events:none;font-size:14px}.story-side-label>span:last-child{font-size:12px}
.has-motion .story-poster{width:clamp(360px,34.6vw,472px);height:min(75svh,688px);z-index:6;overflow:hidden;background:#1d3328;color:#fff}
.has-motion .story-card-images{display:block;position:absolute;inset:0}.story-card-image{position:absolute;inset:0;clip-path:inset(100% 0 0 0);overflow:hidden}.story-card-image-0{clip-path:inset(0 0 0 0)}.story-card-image img{width:100%;height:100%;object-fit:cover}
.has-motion .story-poster-shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,25,18,.25),rgba(7,25,18,.64) 30%,rgba(7,25,18,.94) 72%);z-index:4;pointer-events:none}
.has-motion .story-controls{position:absolute;inset-inline:30px;top:25px;display:flex;align-items:center;justify-content:center;gap:12px;z-index:7;font-size:12px;font-variant-numeric:tabular-nums}.story-controls button{width:34px;height:34px;border-bottom:1px solid transparent;transition:border-color .5s,translate .5s}.story-controls button[aria-pressed=true]{border-color:#fff}.story-controls button:hover{translate:0 -3px}.story-controls>span{opacity:.7;margin-inline-start:12px}
.has-motion .story-page-stack{position:absolute;inset:0;z-index:5}.has-motion .story-page{position:absolute;inset:0;border:0;padding:0 34px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:68px;visibility:hidden;opacity:0}.has-motion .story-page-0{visibility:visible;opacity:1}
.has-motion .story-page h2{font-size:clamp(32px,3.15vw,46px);line-height:1.1;letter-spacing:-.05em;margin:0 0 24px;text-align:center}.has-motion .story-page p{font-size:clamp(15px,1.17vw,17px);line-height:1.65;text-align:center;margin:0}.has-motion .story-static-img{display:none}
.has-motion .story-photo-note{display:block;position:absolute;bottom:20px;inset-inline:24px;text-align:center;font-size:9px;color:#d7e0da;z-index:7}
.has-motion .story-skip{position:absolute;bottom:22px;inset-inline-end:5%;padding:10px 0;z-index:8;font-size:11px}.header.in-story{opacity:0!important;visibility:hidden;pointer-events:none}
/* Partner explanations sit directly over the logo area. */
.partner-grid{gap:2.5%}.partner-hover{position:relative;min-height:285px;border-block:1px solid var(--line);isolation:isolate}
.partner-logo-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:285px;padding:25px 15px;gap:30px}.partner-logo-trigger img{width:100%;max-width:230px;height:120px;object-fit:contain;transition:opacity .6s,scale .9s var(--ease)}.partner-logo-trigger>span{font-size:11px}
.partner-note{position:absolute;inset:0;z-index:2;background:var(--ink);color:var(--ground);padding:25px 23px;overflow:auto;scrollbar-width:thin;opacity:0;visibility:hidden;clip-path:inset(100% 0 0 0);transition:clip-path .8s var(--ease),opacity .65s,visibility .65s;pointer-events:none}.partner-note h3{font-size:19px;line-height:1.25;margin-bottom:15px}.partner-note p{font-size:12px;line-height:1.65;margin:0}
.partner-hover.is-open .partner-note{opacity:1;visibility:visible;clip-path:inset(0 0 0 0);pointer-events:auto}.partner-hover.is-open .partner-logo-trigger img{opacity:0;scale:.95}
/* Automatic physical rightward drift, with pause and manual controls. */
.people-rail.is-auto{display:block;overflow-x:auto;scroll-snap-type:none;scrollbar-width:none}.people-rail.is-auto::-webkit-scrollbar{display:none}.people-track{display:flex;gap:30px;width:max-content;direction:ltr}.people-track .person{flex:0 0 auto;width:clamp(260px,25vw,410px)}[dir=rtl] .people-track .person{direction:rtl}
@media(max-width:1150px){.has-motion .story-side-label{top:28px}.has-motion .story-poster{height:min(80svh,688px)}.partner-grid{gap:20px;grid-template-columns:1fr 1fr}}
@media(max-width:760px){.intro-logo{width:200px}.hero-media{inset:0}.hero-media video{scale:1;object-position:center top;object-fit:cover}.hero-stage{min-height:0}.has-motion .story-scene{height:100svh;min-height:620px}.has-motion .story-side-label{inset-inline:22px;top:22px;font-size:12px}.has-motion .story-side-label>span:last-child{display:none}.has-motion .story-poster{width:calc(100% - 44px);height:78svh;max-height:688px;min-height:490px}.has-motion .story-controls{top:18px;inset-inline:22px}.has-motion .story-page{padding:0 25px 52px}.has-motion .story-page h2{font-size:34px;margin-bottom:22px}.has-motion .story-page p{font-size:15px;line-height:1.6}.has-motion .story-photo-note{font-size:8px;bottom:14px}.has-motion .story-skip{bottom:12px;inset-inline-end:22px;font-size:10px}.story-bg img{object-position:center}.partner-grid{grid-template-columns:1fr;gap:20px}.partner-hover,.partner-logo-trigger{min-height:270px}.partner-logo-trigger img{max-width:210px}.partner-note{padding:28px}.partner-note p{font-size:14px}.people-track{gap:18px}.people-track .person{width:73vw}.rail-controls{flex-wrap:wrap;max-width:125px}.people-heading>div:last-child p{max-width:23ch}[dir=rtl] .story-page h2{letter-spacing:0;font-size:32px;line-height:1.3}[dir=rtl] .story-page p{font-size:15px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){#brand-intro{display:none!important}.partner-note{transition:none}.story-controls{display:none}.people-rail.is-auto{scroll-behavior:auto}}
/* Overscan gives the moving image enough pixels at both masked edges. */
.has-motion .planning-image>img,.has-motion .project-photo>img,.has-motion .person-image>img{position:absolute;inset-inline:0;top:-30%;width:100%;height:160%;max-width:none;object-fit:cover}

.people-rail.is-auto{touch-action:pan-y;cursor:grab;overflow-anchor:none}.people-rail.is-dragging{cursor:grabbing;user-select:none}

/* Keep mobile header available, project framing gentle and partner notes dismissible. */
.partner-note-close{position:sticky;top:0;float:inline-end;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-10px -8px 8px 14px;border:1px solid #ffffff70;border-radius:50%;background:var(--ink);color:#fff;font-size:27px;line-height:1;z-index:3}
.partner-note-close:hover{background:#fff;color:var(--ink)}
.partner-note{overscroll-behavior:contain}
@media(max-width:760px){
 .header.in-story{opacity:1!important;visibility:visible;pointer-events:auto}
 .has-motion .project-card .project-photo{aspect-ratio:16/9}
 .has-motion .project-photo>img{height:108%;top:-4%}
 .partner-note-close{width:44px;height:44px}
}
/* Native sticky story: stable viewport heights, original large typography. */
html{scrollbar-gutter:stable}
#brand-intro{background:#f5f1e8}
.intro-logo{width:108px;height:108px}
.has-motion .pinned-story{height:400svh;overflow:visible;overflow-anchor:none}
.has-motion .story-scene{position:sticky;top:0;height:100svh;min-height:0;padding-top:82px}
.has-motion .story-side-label{top:101px}
.header.in-story{opacity:1!important;visibility:visible;pointer-events:auto}
/* The project gallery alone uses complete, unscaled frames. */
.sticky-projects{position:relative;isolation:isolate}
.sticky-project-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.sticky-project-outer{display:grid;gap:14px}
.sticky-project-photo{margin:0;min-width:0;background:#e9ece5}
.sticky-project-outer .sticky-project-photo{aspect-ratio:4/3}
.sticky-project-center{position:sticky;top:102px;height:calc(100svh - 126px);min-height:540px;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:14px;align-self:start}
.gallery-project{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#e9ece5;text-align:start}
.gallery-project>img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;scale:1;max-width:100%}
.gallery-photo-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px;color:#fff;background:linear-gradient(180deg,rgba(17,24,24,.16),rgba(17,24,24,.12) 15%,rgba(17,24,24,.6) 55%,rgba(17,24,24,.95));opacity:0;transition:opacity .7s cubic-bezier(.24,.43,.15,.97)}
.gallery-photo-location{display:flex;justify-content:space-between;gap:10px;font-size:11px}
.gallery-photo-location>span{font-size:22px;line-height:1}
.gallery-photo-copy{display:flex;flex-direction:column;gap:7px;transform:translateY(14px);transition:transform .8s cubic-bezier(.24,.43,.15,.97)}
.gallery-photo-tag{font-size:10px;letter-spacing:.02em}
.gallery-photo-name{font-size:clamp(22px,2.1vw,34px);line-height:1.15;letter-spacing:-.04em}
.gallery-photo-description{font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:48ch}
.gallery-project:hover .gallery-photo-overlay,.gallery-project:focus-visible .gallery-photo-overlay{opacity:1}
.gallery-project:hover .gallery-photo-copy,.gallery-project:focus-visible .gallery-photo-copy{transform:translateY(0)}
.sticky-project-mobile{display:none}
.gallery-fallback .project-photo>img{top:0;height:100%;object-fit:contain;transform:none!important;scale:1!important}
@media(max-width:1000px) and (min-width:761px){.gallery-photo-overlay{padding:13px}.gallery-photo-name{font-size:23px}.gallery-photo-description{font-size:11px;-webkit-line-clamp:2}}
@media(max-width:760px){
 .intro-logo{width:96px;height:96px}
 .has-motion .story-scene{padding-top:72px;min-height:0}
 .has-motion .story-side-label{top:90px}
 .has-motion .story-poster{min-height:490px;height:78svh}
 .has-motion .story-skip{bottom:5px;padding-block:5px}
 .sticky-project-columns{display:none}
 .sticky-project-mobile{display:block;position:relative}
 .sticky-project-mobile .sticky-project-photo{position:sticky;top:88px;margin-bottom:18px;box-shadow:0 -5px 24px rgba(12,23,18,.09)}
 .gallery-project{height:auto;background:#e9ece5}
 .gallery-project>img{aspect-ratio:16/9;height:auto;object-fit:contain}
 .gallery-photo-overlay{position:relative;opacity:1;padding:19px 20px 23px;gap:22px;background:linear-gradient(160deg,#3b4541,#1b2823);min-height:180px}
 .gallery-photo-copy{transform:none;gap:8px}
 .gallery-photo-name{font-size:29px}
 .gallery-photo-tag{font-size:11px}
 .gallery-photo-description{font-size:13px;-webkit-line-clamp:4}
 .gallery-photo-location{font-size:11px}
 [dir=rtl] .gallery-photo-name{letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){
 .gallery-photo-overlay,.gallery-photo-copy{transition:none}
 .sticky-project-mobile .sticky-project-photo{position:relative;top:auto}
 .sticky-project-center{position:relative;top:auto}
}

.portfolio-heading{margin-bottom:64px}
@media(max-width:760px){.portfolio-heading{margin-bottom:38px}}
