.hero{background-color:var(--bg-light);width:100vw;height:100svh;position:relative;overflow:hidden}.hero .hero-canvas{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero .hero-header{z-index:2;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero .hero-header h1{color:#fff;margin:0;font-size:5cqw;line-height:1.2}.hero .hero-footer{z-index:2;justify-content:space-between;align-items:flex-end;width:100%;padding:2rem;display:flex;position:absolute;bottom:0}.hero .hero-footer p{text-transform:uppercase;color:#000;font-size:.85rem;font-weight:600;line-height:.9;text-decoration:none;display:block}.hero .hero-content{color:var(--base-100);text-align:center;z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:1rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}@media (max-width:1000px){.hero .hero-header h1{font-size:12cqw}.hero .hero-footer{padding:1rem}.hero .hero-footer p{font-size:.7rem}.hero .hero-content{bottom:1rem}}.what-we-do{width:100vw;height:max-content;color:var(--base-100)}.what-we-do .container h1{color:var(--base-100);margin-bottom:4rem}.what-we-do .what-we-do-content{gap:2rem;width:100%;display:flex}.what-we-do .what-we-do-col{flex:1}.what-we-do .what-we-do-col:first-child{flex-direction:column;gap:1rem;display:flex}.what-we-do .what-we-do-col:first-child p.lg{color:var(--base-300);width:70%}.what-we-do .what-we-do-col:first-child p{color:var(--base-100)}.what-we-do .what-we-do-col:nth-child(2) p{width:35%}.what-we-do .what-we-do-col .what-we-do-tags{width:100%}.what-we-do .what-we-do-tag{border:1px solid var(--base-400);border-radius:4rem;margin:0 .5rem .5rem 0;padding:1rem 2rem;display:inline-block}@media (max-width:1000px){.what-we-do .container h1{margin-bottom:8rem}.what-we-do-content{flex-direction:column}.what-we-do .what-we-do-col:first-child p.lg{width:100%}.what-we-do .what-we-do-tag{margin:0 .25rem .25rem 0;padding:.75rem 1.5rem}}.featured-projects-container{width:100vw;color:var(--base-100);padding:10rem 0 0;position:relative;overflow:hidden}.featured-projects-container .featured-projects-header-callout,.featured-projects-container .featured-projects-header{text-align:center}.featured-projects-container .featured-projects-header-callout{color:var(--base-350);margin-bottom:2rem}.featured-projects-container .featured-projects-header{width:50%;margin:0 auto 2rem}@media (max-width:1000px){.featured-projects-container .featured-projects-header{width:100%}}.client-reviews-container{width:100vw;height:120svh;color:var(--base-100);padding:4rem 0 2rem;position:relative}.client-reviews-container .client-reviews-header-callout{text-align:center;color:var(--base-350);margin-bottom:1rem}@media (max-width:1000px){.client-reviews-container .client-reviews-header-callout{margin-bottom:3rem}}@media (min-height:1200px){.client-reviews-container{height:60svh;margin:10rem 0 4rem}}.gallery-callout{background-color:var(--base-500);width:100vw;height:100%;min-height:100svh;color:var(--base-200);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gallery-callout .container{justify-content:center;align-items:center;gap:2rem;width:100%;height:100%;display:flex}.gallery-callout .gallery-callout-col{flex:1}.gallery-callout .gallery-callout-copy{flex-direction:column;gap:2rem;display:flex}.gallery-callout .gallery-callout-col:first-child{flex-direction:column;gap:1rem;display:flex}.gallery-callout .gallery-callout-row{gap:1rem;width:100%;display:flex;position:relative;left:-10vw}.gallery-callout .gallery-callout-img{aspect-ratio:5/4;border-radius:.75rem;flex:1;position:relative;overflow:hidden}.gallery-callout .gallery-callout-img-content{z-index:1;background-color:var(--base-500-alpha-25);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);color:var(--base-100);border-radius:.75rem;padding:1rem;position:absolute;bottom:1rem;left:1rem}.gallery-callout .gallery-callout-img-content p{color:var(--base-200)}.gallery-callout .gallery-callout-img-1,.gallery-callout .gallery-callout-img-4{flex:.75}.gallery-callout .gallery-callout-row:first-child{align-items:flex-end}.gallery-callout .gallery-callout-row:nth-child(2){align-items:flex-start}.container.centered{padding:0}@media (max-width:1000px){.gallery-callout .container{flex-direction:column}.gallery-callout .gallery-callout-row{left:0}.gallery-callout .gallery-callout-img-content{display:none}}
.loader{z-index:100000;pointer-events:all;width:100vw;height:100svh;position:fixed;top:0;left:0;overflow:hidden}.loader .overlay{width:100%;height:100%;color:var(--base-100);display:flex;position:absolute;top:0}.loader .block{background:var(--base-500);width:100%;height:100%}.loader .intro-logo{gap:.5rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader #word-1{color:var(--base-100);padding-right:.25rem;position:relative;left:-2rem}.loader #word-2{color:var(--base-100);padding-right:.25rem;position:relative;left:.5rem}.loader .word h1{color:var(--base-300);letter-spacing:-.05rem;font-size:2rem}.loader .divider{transform-origin:top;background-color:var(--base-100-alpha-125);width:1px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.loader .spinner-container{position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.loader .spinner{border:1.4px solid var(--base-350);border-top-color:var(--base-100-alpha-05);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loader .counter{z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader .count{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loader .digit{flex:1;padding-top:1rem}.loader .count .digit h1{color:var(--base-400);font-size:15rem;font-weight:400}.loader .line,.loader .word,.loader .count .digit{clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)}.loader .line h1,.loader .line p,.loader .count .digit h1{will-change:transform;position:relative;transform:translateY(120%)}.loader #word-1 h1{transform:translateY(-120%)}.loader #word-2 h1{transform:translateY(120%)}.loader .block{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}.loader .divider{will-change:transform;transform:scaleY(0%)}@media (max-width:1000px){.loader .counter .count .digit h1{font-size:7rem}.loader .counter .count .digit{padding-top:.25rem}}
