@import "https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900;1000&display=swap";:root{color:#fff;font-synthesis:none;background:#050708;font-family:Cairo,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}button,a{font:inherit}.page-shell{background:#050708;width:100vw;height:100dvh;padding:12px;position:relative;overflow:hidden}.grid{border:1px solid #ffffff21;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:100%;display:grid;overflow:hidden}.tile{isolation:isolate;color:#fff;border-bottom:1px solid #ffffff3d;border-right:1px solid #ffffff3d;min-width:0;min-height:0;text-decoration:none;display:block;position:relative;overflow:hidden}.tile:nth-child(3n){border-right:0}.tile:nth-child(n+7){border-bottom:0}.tile-background{z-index:-2;filter:saturate(.92)contrast(1.02);background-position:50%;background-size:cover;transition:transform .85s cubic-bezier(.18,.72,.2,1),filter .8s;position:absolute;inset:0;transform:scale(1)}.tile-shade{z-index:-1;background:linear-gradient(90deg,#020508e0 0%,#02050857 48%,#02050812 100%),linear-gradient(#0000 54%,#00000057);transition:opacity .8s;position:absolute;inset:0}.tile-content{z-index:1;width:min(72%,330px);position:absolute;bottom:clamp(18px,1.8vh,27px);left:clamp(19px,2.05vw,42px)}.eyebrow{letter-spacing:-.02em;align-items:center;gap:9px;margin-bottom:9px;font-size:clamp(10px,.85vw,13px);font-weight:700;line-height:1;display:flex}.eyebrow i{background:#ffffff8f;width:22px;height:1px;display:block}h2{letter-spacing:0;flex-direction:column;margin:0;font-family:Cairo,Arial,sans-serif;font-size:clamp(25px,2vw,40px);font-weight:900;line-height:.96;display:flex}h2 span{display:block}.tile p{white-space:normal;color:#ffffffc7;margin:9px 0 16px;font-size:clamp(10px,.88vw,14px);font-weight:500;line-height:1.23}.arrow{border:1px solid #ffffffc7;border-radius:50%;place-items:center;width:clamp(31px,2.5vw,42px);height:clamp(31px,2.5vw,42px);transition:border-color .65s,transform .65s cubic-bezier(.2,.75,.25,1),background .65s;display:grid}.arrow svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:58%;height:58%}.tile:after{content:"";z-index:2;pointer-events:none;border:1px solid #0000;transition:border-color .7s,box-shadow .7s;position:absolute;inset:0}.tile.active:after{border-color:#fffffffa;animation:2.6s ease-in-out infinite alternate breathe;box-shadow:inset 0 0 14px #ffffff38,inset 0 0 2px #fff,0 0 12px #ffffffa6,0 0 28px #ffffff45}.tile.active .tile-background{filter:saturate(1.02)contrast(1.06)brightness(1.08);transform:scale(1.05)}.tile.active .tile-shade{opacity:.82}.tile.active .arrow{background:#ffffff17;border-color:#fff}.tile:hover .tile-background{transform:scale(1.025)}.tile.active:hover .tile-background{transform:scale(1.05)}.tile:hover .arrow{transform:translate(3px)}.tile:focus-visible,.menu-button:focus-visible,.wordmark:focus-visible{outline-offset:-3px;outline:2px solid #00f5a0}.site-header{z-index:5;pointer-events:none;justify-content:space-between;align-items:flex-start;height:72px;padding:23px 28px;display:flex;position:absolute;top:12px;left:12px;right:12px}.wordmark,.menu-button{pointer-events:auto}.wordmark{color:#fff;filter:drop-shadow(0 1px 8px #000000b3);align-items:center;text-decoration:none;display:flex}.wordmark img{width:112px;height:auto;display:block}.menu-button{color:#fff;cursor:pointer;background:#0a0c0e33;border:1px solid #ffffff4d;border-radius:20px;align-items:center;gap:10px;height:28px;padding:0 5px 0 12px;font-size:9px;font-weight:600;display:flex}.hamburger{border:1px solid #ffffff57;border-radius:50%;place-content:center;gap:3px;width:21px;height:21px;display:grid}.hamburger i{background:#fff;width:8px;height:1px;transition:transform .35s;display:block}.is-open .hamburger i:first-child{transform:translateY(2px)rotate(45deg)}.is-open .hamburger i:last-child{transform:translateY(-2px)rotate(-45deg)}.menu-panel{z-index:4;opacity:0;visibility:hidden;background:#060a0cf0;border:1px solid #fff3;flex-direction:column;gap:17px;width:210px;padding:20px;transition:opacity .25s,transform .25s,visibility .25s;display:flex;position:absolute;top:53px;right:20px;transform:translateY(-6px)}.menu-panel.visible{opacity:1;visibility:visible;transform:translateY(0)}.menu-panel button{color:#fff;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;padding:0;font-size:12px;font-weight:600;text-decoration:none;display:flex}.detail-page{z-index:3;background:#07090a;position:absolute;inset:12px;overflow:hidden}.detail-page.has-carousel{scroll-snap-type:y proximity;overscroll-behavior-y:contain;scrollbar-width:none;scroll-behavior:smooth;overflow-y:auto}.detail-page.has-listing{scroll-snap-type:y proximity;overscroll-behavior-y:contain;scroll-behavior:smooth;scrollbar-width:none;overflow-y:auto}.detail-page.has-listing::-webkit-scrollbar{display:none}.detail-page.has-carousel::-webkit-scrollbar{display:none}.detail-hero{scroll-snap-align:start;height:calc(100vh - 24px);min-height:420px;position:relative;overflow:hidden}.detail-background,.detail-shade{position:absolute;inset:0}.detail-background{background-position:50%;background-size:cover;animation:1.2s cubic-bezier(.2,.7,.2,1) both detail-arrive;transform:scale(1.02)}.detail-shade{background:linear-gradient(90deg,#000000c7,#0000004d 58%,#0000001f),linear-gradient(#0000 48%,#0006)}.back-button{color:#fff;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:11px;font-weight:700;display:flex;position:absolute;top:clamp(82px,12vh,132px);left:clamp(24px,4vw,64px)}.back-button span{font-size:24px;font-weight:400}.detail-copy{max-width:560px;position:absolute;bottom:clamp(42px,10vh,112px);left:clamp(24px,8vw,130px)}.detail-copy h1{letter-spacing:0;flex-direction:column;margin:0;font-size:clamp(52px,8vw,116px);font-weight:1000;line-height:.9;display:flex}.detail-copy p{color:#ffffffd1;margin:18px 0 30px;font-size:clamp(15px,1.5vw,20px);line-height:1.4}.next-button{color:#fff;letter-spacing:.09em;cursor:pointer;background:0 0;border:0;border-top:1px solid #ffffff8c;justify-content:space-between;align-items:center;gap:22px;width:min(300px,60vw);padding:10px 0;font:700 11px Cairo,sans-serif;display:flex}.next-button span{font-size:20px;font-weight:400}.scroll-cue{letter-spacing:.12em;align-items:center;gap:12px;margin-top:38px;font-size:10px;font-weight:700;display:flex}.scroll-cue span{font-size:20px}.project-carousel{scroll-snap-align:start;background:radial-gradient(#17201f 0%,#080b0c 52%,#050708 100%);justify-content:center;align-items:center;height:calc(100vh - 24px);min-height:500px;display:flex;position:relative;overflow:hidden}.carousel-heading{z-index:2;text-align:center;opacity:0;transition:opacity .9s,transform 1.1s cubic-bezier(.2,.75,.2,1);position:absolute;top:clamp(28px,5vh,52px);left:20px;right:20px;transform:translateY(24px)}.carousel-heading>span{color:#ffffff8c;letter-spacing:.16em;font-size:10px;font-weight:700}.carousel-heading h2{letter-spacing:0;margin:6px 0 3px;font-size:clamp(25px,3.3vw,44px);font-weight:900}.carousel-heading p{color:#ffffff8c;margin:0;font-size:12px}.carousel-stage{perspective:1400px;width:100%;height:60%;transform-style:preserve-3d;isolation:isolate;opacity:0;transition:opacity 1s .1s,transform 1.2s cubic-bezier(.2,.75,.2,1) .1s;position:relative;transform:translateY(34px)scale(.97)}.video-card{width:clamp(220px,27vw,360px);transform:translate(-50%, -50%) translateX(var(--arc-x)) translateY(var(--arc-y)) translateZ(var(--arc-z)) rotateY(calc(var(--angle) * -1deg)) scale(calc(1 - var(--distance) * .075));opacity:calc(1 - var(--distance) * .14);z-index:calc(10 - var(--distance));filter:brightness(calc(1 - var(--distance) * .22)) saturate(calc(1 - var(--distance) * .13));will-change:transform;transition:transform 1.1s cubic-bezier(.16,.76,.22,1),opacity .8s,filter .8s;position:absolute;top:50%;left:50%}.video-preview{aspect-ratio:1;color:#fff;cursor:pointer;background:#090c0d;border:1px solid #ffffff3d;width:100%;padding:0;transition:border-color .7s,box-shadow .7s;display:block;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000080}.video-card.centered .video-preview{border-color:#ffffffd1;box-shadow:0 0 0 1px #ffffff2e,0 28px 90px #000000a6}.video-card.centered{filter:none;z-index:100!important}.video-card img{object-fit:cover;width:100%;height:100%;display:block}.video-card-label{text-align:center;letter-spacing:.14em;color:#fff;opacity:0;visibility:hidden;margin-top:14px;font-size:11px;font-weight:700;transition:opacity .45s,visibility .45s;display:block}.video-card.centered .video-card-label{opacity:1;visibility:visible}.play-icon{text-shadow:0 2px 18px #000;place-items:center;font-size:28px;display:grid;position:absolute;inset:0}.carousel-controls{color:#ffffffb3;letter-spacing:.1em;align-items:center;gap:28px;font-size:11px;display:flex;position:absolute;bottom:clamp(28px,6vh,58px);left:50%;transform:translate(-50%)}.carousel-controls button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;transition:border-color .25s,background .25s;display:grid}.carousel-controls button:hover{background:#ffffff14;border-color:#fff}.carousel-controls button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block}.carousel-controls{opacity:0;transition:opacity .85s .2s,transform 1s cubic-bezier(.2,.75,.2,1) .2s;transform:translate(-50%,18px)}.carousel-in-view .carousel-heading,.carousel-in-view .carousel-stage,.carousel-in-view .carousel-controls{opacity:1;transform:none}.carousel-in-view .carousel-controls{transform:translate(-50%)}.all-projects{scroll-snap-align:start;background:#07090a;min-height:calc(100vh - 24px);padding:clamp(38px,7vh,76px) clamp(22px,6vw,90px) 56px}.all-projects-heading{text-align:center;opacity:0;margin:0 auto 36px;transition:opacity .9s,transform 1s cubic-bezier(.2,.75,.2,1);transform:translateY(22px)}.all-projects-heading>span{color:#ffffff7a;letter-spacing:.16em;font-size:10px;font-weight:700}.all-projects-heading h2{margin:6px 0;font-size:clamp(30px,4vw,50px);font-weight:900}.all-projects-heading p{color:#fff9;margin:0 0 20px;font-size:13px}.project-search{text-align:left;background:#ffffff09;border:1px solid #ffffff42;align-items:center;gap:10px;width:min(360px,90%);margin:0 auto;padding:10px 14px;display:flex}.project-search>span{color:#fff9;font-size:20px}.project-search input{color:#fff;background:0 0;border:0;outline:0;flex:1;min-width:0;font:500 13px Cairo,sans-serif}.project-search input::placeholder{color:#ffffff6b}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;max-width:1320px;margin:0 auto;display:grid}.project-grid-card{color:#fff;text-align:center;cursor:pointer;opacity:0;background:0 0;border:0;padding:0;transition:opacity .7s,transform .85s cubic-bezier(.2,.75,.2,1);transform:translateY(20px)}.grid-in-view .all-projects-heading,.grid-in-view .project-grid-card{opacity:1;transform:none}.grid-in-view .project-grid-card:nth-child(4n+1){transition-delay:60ms}.grid-in-view .project-grid-card:nth-child(4n+2){transition-delay:.12s}.grid-in-view .project-grid-card:nth-child(4n+3){transition-delay:.18s}.grid-in-view .project-grid-card:nth-child(4n+4){transition-delay:.24s}.project-grid-image{aspect-ratio:1;background:#111;border:1px solid #ffffff29;display:block;position:relative;overflow:hidden}.project-grid-image img{object-fit:cover;filter:brightness(.78);width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}.project-grid-card:hover .project-grid-image img{filter:brightness();transform:scale(1.045)}.project-grid-image i{text-shadow:0 2px 15px #000;place-items:center;font-size:20px;font-style:normal;display:grid;position:absolute;inset:0}.project-grid-card strong{letter-spacing:.13em;margin-top:12px;font-size:11px;display:block}.no-projects{text-align:center;color:#ffffff8c;grid-column:1/-1;padding:48px 0}.video-lightbox{z-index:20;background:#000000f0;flex-direction:column;justify-content:center;align-items:center;padding:6vw;display:flex;position:fixed;inset:0}.video-lightbox video{object-fit:contain;background:#000;width:min(88vw,1400px);max-height:78vh;display:block}.video-lightbox .project-image-lightbox{object-fit:contain;width:min(88vw,1000px);max-height:78vh;display:block}.video-lightbox>strong{letter-spacing:.1em;text-transform:uppercase;margin-top:16px;font-size:13px}.video-lightbox>span{color:#ffffff8c;margin-top:15px;font-size:11px}.close-video{color:#fff;cursor:pointer;background:0 0;border:0;font-size:38px;font-weight:300;position:absolute;top:20px;right:28px}@keyframes detail-arrive{0%{filter:brightness(.72);transform:scale(1.08)}to{filter:brightness();transform:scale(1.02)}}@keyframes breathe{0%{box-shadow:inset 0 0 10px #ffffff1f,0 0 8px #fff6}to{box-shadow:inset 0 0 18px #ffffff3d,0 0 17px #ffffffc7,0 0 30px #ffffff4d}}@media (width>=1500px){.tile-content{bottom:24px;left:24px}}@media (width<=760px){body{overflow:auto}.page-shell{width:100%;height:auto;min-height:100%;padding:0;overflow:visible}.grid{border:0;grid-template-rows:none;grid-template-columns:1fr;width:100%;height:auto}.tile{border:0;border-bottom:1px solid #ffffff40;height:68vh;min-height:410px}.tile-content{width:80%;bottom:26px;left:24px}h2{font-size:clamp(42px,12vw,62px)}.tile p{margin:12px 0 18px;font-size:13px}.eyebrow{font-size:12px}.site-header{padding:22px;position:absolute;top:0;left:0;right:0}.menu-panel{top:53px;right:12px}.detail-page{inset:0}.detail-hero,.project-carousel{height:100vh}.detail-copy h1{font-size:clamp(50px,15vw,82px)}.back-button{top:88px}.carousel-stage{height:50%}.video-card{width:min(74vw,300px)}.carousel-heading{top:40px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.all-projects{padding:48px 18px 40px}.video-lightbox{padding:18px}.video-lightbox video{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.tile.active .tile-background,.tile:hover .tile-background,.tile.active:hover .tile-background{transform:scale(1)}}
