body:has(.project-showcase){background-color:#dcdcdc;overflow-x:clip}.project-showcase{width:100%;min-height:100dvh;overflow-x:clip}@media (min-width:1025px){.project-showcase>.app-scrollbar{right:0}}.project-showcase img,.project-showcase video{width:100%;height:100%;object-fit:cover;display:block}.project-showcase section{position:relative;width:100%;height:100dvh;min-height:100dvh;overflow:hidden}.showcase-intro{background-image:var(--project-bg);background-size:cover;background-position:50%;background-repeat:no-repeat}.service{background-color:#000;overflow:hidden}.text-container{position:absolute;inset:0;width:100%;height:100%;z-index:2}.cards{--cards-gap:clamp(3rem,12vw,8rem);position:relative;width:max-content;height:100dvh;padding-inline:100vw;display:flex;align-items:center;gap:var(--cards-gap);overflow:hidden;z-index:20}.card{flex:0 0 min(70vw,1200px);aspect-ratio:16/9;background:#000;display:flex;flex-direction:column;padding:.5rem;gap:.5rem}.card-img{flex:1;overflow:hidden}.card-img img,.card-img video{width:100%;height:100%;object-fit:cover}:where(.card-copy1,.card-copy2,.card-copy3,.card-copy4,.card-copy5,.card-copy6,.card-copy7,.card-copy8,.card-copy9,.card-copy10,.card-copy11,.card-copy12,.card-copy13){flex:0 0 0.75rem;display:flex;justify-content:space-between;align-items:center;padding:0 .25rem;text-transform:uppercase;font-size:.75rem;color:var(--project-color)}.showcase-outro{display:flex;justify-content:center;align-items:center;background:var(--project-color);color:#fff}.showcase-outro h2{font-family:var(--font-soria);font-size:5rem}.showcase-outro-cta{display:inline-block;color:inherit;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:transform .25s ease,opacity .25s ease}.showcase-outro-cta:focus-visible{outline:2px solid currentColor;outline-offset:.15em}@media (hover:hover) and (pointer:fine){.showcase-outro-cta:hover{transform:scale(1.02);opacity:.85}}.showcase-outro-cta:active{transform:scale(1.02);opacity:.85}#grid-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}:where(.letter1,.letter2,.letter3,.letter4,.letter5,.letter6,.letter7,.letter8,.letter9,.letter10,.letter11,.letter12,.letter13){position:absolute;font-size:8rem;font-weight:700;color:var(--project-color);z-index:2;transform-origin:center;transform-style:preserve-3d;will-change:transform}#letters-canvas{position:absolute;inset:0;z-index:1}@media (min-width:1025px){.cards{--desktop-card-width:min(45vw,720px);--cards-gap:clamp(8rem,8vw,10rem);overflow:visible;padding-inline:max(0px,calc(50vw - min(22.5vw, 360px)))}.card{flex-basis:var(--desktop-card-width);aspect-ratio:auto;padding:0;background:#000;box-shadow:0 0 0 .5rem #000;opacity:1;visibility:visible}.card,.card-img{height:auto;overflow:visible}.card-img{flex:0 0 auto;background:transparent}.card-img img,.card-img video{height:auto;object-fit:unset;object-position:initial}}@media (max-width:1024px){.project-showcase section{width:100%;height:100dvh;min-height:100dvh}.cards{--cards-gap:clamp(1.5rem,8vw,4rem);height:100%;padding-inline:100vw 0}.card{flex-basis:clamp(17.5rem,84vw,40rem);padding:clamp(.375rem,1vw,.5rem);gap:clamp(.375rem,1vw,.5rem)}:where(.card-copy1,.card-copy2,.card-copy3,.card-copy4,.card-copy5,.card-copy6,.card-copy7,.card-copy8,.card-copy9,.card-copy10,.card-copy11,.card-copy12,.card-copy13){flex-basis:max(.875rem,1.2em);padding-inline:clamp(.125rem,.6vw,.25rem);font-size:clamp(.625rem,1.5vw,.75rem);line-height:1;white-space:nowrap}.showcase-outro h2{font-size:clamp(3rem,10vw,5rem)}:where(.letter1,.letter2,.letter3,.letter4,.letter5,.letter6,.letter7,.letter8,.letter9,.letter10,.letter11,.letter12,.letter13){font-size:clamp(5rem,20vw,7rem)}}@media (max-width:480px){.cards{--cards-gap:clamp(1.25rem,7vw,2rem)}.card{flex-basis:clamp(17.5rem,88vw,24rem);aspect-ratio:auto}.card-img{flex:0 0 auto}.card-img img,.card-img video{height:auto;object-fit:contain;object-position:center}:where(.letter1,.letter2,.letter3,.letter4,.letter5,.letter6,.letter7,.letter8,.letter9,.letter10,.letter11,.letter12,.letter13){font-size:clamp(7rem,32vw,8rem)}}.project-showcase-close{position:fixed;z-index:1000;padding:0;border:0;background:transparent;color:#fff;mix-blend-mode:difference;opacity:.7}.project-showcase-close:after,.project-showcase-close:before{background-color:currentColor}.project-showcase-close:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:.25rem}