@font-face{font-family:Geist;src:url(/assets/Geist-VariableFont_wght-C7M6Z1jt.ttf)format("truetype")}@font-face{font-family:Cherish;src:url(/assets/Cherish-Regular-Ep3y7iKq.ttf)format("truetype")}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-VariableFont_wght-BrlcHZ7m.ttf)format("truetype")}:root{--surface-dark:oklch(16.9% 0 0);--surface-light:oklch(23.4% .003 19.5);--surface-base:oklch(20.3% .003 19.5);--outline:oklch(32.5% .003 19.5);--text100:oklch(100% 0 0);--text200:oklch(56.8% 0 0);--accent:oklch(62.3% .163 255.8);--font-geist:"Geist", sans-serif;--font-cherish:"Cherish", cursive;--font-jetbrains:"JetBrains Mono", monospace;--radius-default:.125rem;--radius-lg:.25rem;--radius-xl:.5rem;--radius-full:1000rem;--z-0:0;--z-100:1;--z-200:2;--z-300:3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--surface-dark:oklch(16.9% 0 0);--surface-light:oklch(23.4% .003 19.5);--surface-base:oklch(20.3% .003 19.5);--outline:oklch(32.5% .003 19.5);--text100:oklch(100% 0 0);--text200:oklch(56.8% 0 0);--accent:oklch(62.3% .163 255.8)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}#root{isolation:isolate}body{font:18px/145% var(--font-geist);color:var(--text100);background:var(--surface-base);scroll-behavior:smooth;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;font-weight:400}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}img{-webkit-user-select:none;user-select:none}.light{background-color:oklch(from var(--accent) l c h/.15);border-radius:var(--radius-full);aspect-ratio:1;filter:blur(clamp(6rem,10vw,12rem));z-index:-1;pointer-events:none;width:clamp(15rem,50vw,40rem);position:absolute;top:clamp(15rem,10vh,10.5625rem);right:clamp(-10rem,10vw,14.6875rem)}main{width:100%;min-height:100dvh;padding-block:clamp(5rem,25vh,19rem) clamp(4rem,20vh,12.75rem);padding-inline:clamp(1.25rem,12vw,15.75rem)}main .heading{letter-spacing:clamp(-.01rem,-.5vw,-.04rem);font-size:clamp(1.875rem,5vw,4.5rem);font-weight:600;line-height:clamp(2.25rem,8vw,5rem)}main .paragraph{color:var(--text200);letter-spacing:0;font-size:clamp(1rem,2vw,1.125rem);font-weight:400;line-height:clamp(1.5rem,4vw,1.75rem)}@media (width<=768px){main{padding-inline:clamp(1.25rem,2vw,15.75rem)}main .heading{font-weight:400}}.nav{background-color:oklch(from var(--surface-base) l c h/.75);border-bottom:.125rem solid var(--outline);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);width:100%;min-height:10vh;z-index:var(--z-300);flex-wrap:wrap;justify-content:space-between;align-items:center;padding-inline:clamp(1rem,5vw,3.75rem);display:flex;position:fixed;top:0}.nav a{color:var(--text200);font-family:var(--font-geist);-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:.375rem;font-size:clamp(.875rem,2vw,1.125rem);font-weight:400;line-height:130%;text-decoration:none;transition:color .25s,transform .25s;display:inline-flex}.nav a:after{content:"";background-color:var(--text100);border-radius:var(--radius-full);opacity:0;width:.375rem;height:.375rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s;display:block;transform:scale(0)}.nav a:visited{color:var(--text200)}.nav a:hover{color:oklch(from var(--text200) calc(l + .25) c h)}.nav a.active{color:var(--text100);transform:scale(1.05)}.nav a.active:after{opacity:1;transform:scale(1)}.nav a:active{transform:scale(.95)}.nav .logo{flex-direction:row;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1.5rem);height:10vh;padding:1.125rem 0;display:flex}.nav .logo img{width:auto;height:clamp(2rem,5vh,100%)}.nav .logo h1{font-family:var(--font-cherish);color:var(--text100);font-size:clamp(1.5rem,4vw,2.25rem)}.nav .menu-wrapper{justify-content:space-between;align-items:center;width:clamp(28rem,60%,1000rem);height:100%;display:flex}.nav .menu-wrapper .nav-links{justify-content:center;align-items:center;gap:clamp(1rem,3vw,3.75rem);height:100%;display:flex}.nav .hamburger{cursor:pointer;z-index:var(--z-300);background:0 0;border:none;flex-direction:column;gap:.3rem;display:none}@media (width<=768px){.nav{border-bottom:.0625rem solid var(--outline);width:100%;min-height:7vh}.nav a:after{display:none}.nav a.active{color:var(--text100);transform:scale(1.05)}.nav .hamburger{display:flex}.nav .menu-wrapper{background-color:var(--surface-base);opacity:0;pointer-events:none;width:100%;height:calc(100dvh - 10vh);z-index:var(--z-200);flex-direction:column;justify-content:flex-start;align-items:center;gap:1.5rem;padding:3.5rem 0;transition:all .3s;position:absolute;top:100%;left:0;transform:translateY(-20px)}.nav .menu-wrapper.open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav .menu-wrapper .nav-links{flex-direction:column;gap:1.5rem;height:auto}}footer{background-color:var(--surface-base);border-top:.125rem solid var(--outline);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,5vw,12rem);width:100%;min-height:15vh;padding-block:clamp(2rem,5vh,3rem);padding-inline:clamp(1rem,5vw,3.75rem);display:flex}footer .logo{justify-content:center;align-items:center;gap:clamp(1rem,5vw,1.5rem);display:flex}footer .logo img{width:auto;height:clamp(2rem,5vh,4rem)}footer .logo h1{font-family:var(--font-cherish);color:var(--text100);font-size:clamp(1.5rem,4vw,2.25rem)}footer .nav-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1rem,3vw,3rem);display:flex}footer .nav-links a{color:var(--text200);font-family:var(--font-jetbrains);letter-spacing:.05rem;-webkit-tap-highlight-color:transparent;font-size:clamp(.625rem,1vw,.75rem);font-weight:400;line-height:1.5;text-decoration:none;transition:color .25s,transform .25s}footer .nav-links a:visited{color:var(--text200)}footer .nav-links a:hover{color:oklch(from var(--text200) calc(l + .35) c h)}footer .nav-links a:active{transform:scale(.95)}footer span{color:var(--text200);font-family:var(--font-jetbrains);letter-spacing:.05rem;text-align:center;font-size:clamp(.625rem,1vw,.75rem);font-weight:400;line-height:1.5}.home{flex-direction:column;gap:clamp(6.25rem,10vw,12.75rem);display:flex}.home .hero{width:100%;height:auto;z-index:var(--z-100);justify-content:space-between;align-items:flex-start;gap:clamp(2rem,5vw,4rem);padding-right:clamp(0rem,5vw,6rem);display:flex}.home .hero .hero-text{flex-direction:column;flex:300px;justify-content:center;align-items:flex-start;gap:clamp(3rem,4vw,3rem);height:auto;display:flex}.home .hero .hero-text a{color:var(--text100);border:.125rem solid var(--outline);border-radius:var(--radius-default);letter-spacing:.05rem;text-transform:uppercase;align-items:center;gap:.75rem;padding:clamp(.75rem,2vw,1.125rem) clamp(1.5rem,4vw,2.25rem);font-size:.75rem;font-weight:400;line-height:1.5;text-decoration:none;transition:all .2s ease-in-out;display:flex}.home .hero .hero-text a:hover{color:var(--surface-base);background-color:var(--text100);border-color:var(--text100);font-weight:500}.home .hero .hero-text a:hover .icon{transform:translate(.5rem)}.home .hero .hero-text a:hover .icon path{fill:var(--surface-base)}.home .hero .hero-text a .icon{width:.875rem;height:.875rem;transition:transform .2s ease-in-out}.home .hero img{width:clamp(5rem,14vw - 2.3rem,14rem);max-width:100%;height:auto}.home .services{flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,4vw,3rem);display:flex}@media (width<=768px){.home .hero{padding-right:0}.home .hero .hero-text a{color:var(--surface-base);background-color:var(--text100);border-color:var(--text100);justify-content:center;align-items:center;width:100%;font-weight:500;display:flex}.home .hero .hero-text a .icon path{fill:var(--surface-base)}.home .hero img{display:none}}.service-card{background-color:var(--surface-light);color:var(--text100);border:.125rem solid var(--outline);border-radius:var(--radius-default);-webkit-tap-highlight-color:transparent;cursor:pointer;width:100%;z-index:var(--z-100);flex-direction:column;gap:clamp(1.25rem,3vw,2.25rem);padding:clamp(1.5rem,5vw,3rem);text-decoration:none;transition:gap .15s ease-in-out;display:flex;position:relative;overflow:hidden}.service-card:visited{color:var(--text100)}.service-card:before{content:"";z-index:-1;background-image:linear-gradient(oklch(0% 0 0/.75), oklch(0% 0 0/.6)), var(--bg-image);filter:saturate(0%);background-position:50%;background-repeat:no-repeat;background-size:cover;transition:filter .15s;position:absolute;inset:0}.service-card span{color:var(--text200);letter-spacing:.1rem;text-transform:uppercase;font-size:clamp(.625rem,1vw,.75rem);font-weight:600;line-height:1.5;display:none}.service-card .top{flex:1;justify-content:space-between;align-items:center;display:flex}.service-card .top svg{width:clamp(1.5rem,4vw,2.25rem);height:clamp(1.5rem,4vw,2.25rem)}.service-card .top svg path{transition:fill 15ms ease-in-out}.service-card .bottom{flex-direction:column;flex:1;justify-content:flex-start;align-items:flex-start;gap:clamp(.5rem,1.5vw,.75rem);display:flex}.service-card .bottom h2{color:var(--text100);letter-spacing:-.01rem;text-transform:capitalize;font-size:clamp(1.5rem,2vw,2.5rem);font-weight:400;line-height:1.2}.service-card:hover{border-color:var(--accent);gap:clamp(3rem,15vw,9rem)}.service-card:hover:before{filter:saturate()}.service-card:hover span{display:block}.service-card:hover svg path{fill:var(--accent)}@media (width<=768px){.service-card{gap:clamp(3rem,15vw,9rem)}.service-card:before{filter:saturate()}.service-card span{line-height:1.6;display:block}.service-card .top svg{width:clamp(1.5rem,4vw,2.25rem);height:clamp(1.5rem,4vw,2.25rem)}.service-card .top svg path{transition:fill 15ms ease-in-out}.service-card .bottom{flex-direction:column;flex:1;justify-content:flex-start;align-items:flex-start;gap:clamp(.5rem,1.5vw,.75rem);display:flex}.service-card .bottom h2{color:var(--text100);letter-spacing:-.01rem;text-transform:capitalize;font-size:clamp(1.5rem,2vw,2.5rem);font-weight:400;line-height:1.2}}.project-card{background-color:var(--surface-dark);border:2px solid var(--outline);border-radius:var(--radius-default);-webkit-tap-highlight-color:transparent;cursor:pointer;grid-column:span 2;justify-content:flex-start;align-items:center;width:100%;height:100%;text-decoration:none;transition:border-color .15s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--accent)}.project-card.vertical{flex-direction:column;grid-column:span 1}.project-card.vertical img{width:100%;height:40%}.project-card.vertical .card{width:100%;height:60%}.project-card.reverse{flex-direction:row-reverse}.project-card img{aspect-ratio:1;object-fit:cover;width:50%;height:100%}.project-card .card{flex-direction:column;justify-content:space-between;align-items:flex-start;width:50%;height:100%;padding-block:clamp(1.5rem,1.5vw,3rem);padding-inline:clamp(1.5rem,1.5vw,3rem);display:flex}.project-card .card .card-text{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(.75rem,2vw,1.5rem);display:flex}.project-card .card .card-text h2{color:var(--text100);font-size:clamp(1.25rem,1.5vw,2.5rem);font-weight:400;line-height:clamp(1.75rem,1vw,2.5rem)}.project-card .card .card-text .description{color:var(--text100);font-size:clamp(.75rem,1vw,1.125rem);font-weight:300;line-height:clamp(1.125rem,2vw,1.5rem)}.project-card .card .card-text .tags{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.project-card .card .card-text .tags .tag{background-color:oklch(from var(--surface-dark) calc(l + .1) c h);border:2px solid var(--outline);border-radius:var(--radius-default);justify-content:center;align-items:center;padding-block:clamp(0px,.1dvw,3px);padding-inline:.75rem;display:flex}.project-card .card .card-text .tags .tag span{color:oklch(from var(--text200) calc(l + .25) c h);font-size:clamp(.625rem,.75dvw,1rem);font-weight:400}.project-card .card .card-links{justify-content:flex-start;align-items:center;gap:1.5rem;display:flex}.project-card .card .card-links .link{justify-content:flex-start;align-items:center;gap:.375rem;display:flex}.project-card .card .card-links .link svg path{fill:var(--text100)}.project-card .card .card-links .link a{color:var(--text100);-webkit-tap-highlight-color:transparent;font-size:clamp(.75rem,1dvw,.875rem);font-weight:400;text-decoration:none;transition:color .15s,transform .25s}.project-card .card .card-links .link a:visited{color:var(--text100)}.project-card .card .card-links .link a:hover{color:oklch(from var(--text200) calc(l + .3) c h)}.project-card .card .card-links .link a.active{color:var(--text100);transform:scale(1.05)}.project-card .card .card-links .link a.active:after{opacity:1;transform:scale(1)}.project-card .card .card-links .link a:active{transform:scale(.95)}@media (width<=768px){.project-card.horizontal,.project-card.reverse{flex-direction:column;grid-column:span 1}.project-card.horizontal img,.project-card.reverse img,.project-card.horizontal .card,.project-card.reverse .card{width:100%;height:50%}}.developer{flex-direction:column;gap:clamp(6.25rem,10vw,12.75rem);display:flex}.developer .hero{width:50%;height:auto;z-index:var(--z-100);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-right:clamp(0rem,5vw,6rem);display:flex}.developer .projects{grid-template-columns:repeat(auto-fit,minmax(21.875rem,1fr));grid-auto-rows:32rem;gap:1.5rem;display:grid}@media (width<=768px){.developer .hero{width:100%}}.project .hero .header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.75rem;width:100%;display:flex}.project .hero .links{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:1.5rem;width:100%;min-width:0;margin-top:clamp(1.5rem,2dvw,2rem);display:flex}.project .hero .links .link{border:2px solid var(--outline);border-radius:var(--radius-default);color:var(--text100);text-wrap:nowrap;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.75rem;padding-block:.75rem;padding-inline:1.5rem;font-size:.875rem;font-weight:400;line-height:1rem;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s,transform .25s;display:flex}.project .problem{justify-content:flex-start;align-items:flex-start;gap:3rem;width:100%;display:flex}.project .problem .container{flex-direction:column;flex:1;justify-content:flex-start;align-items:flex-start;gap:.75rem;display:flex}.project .problem .container .paragraph{font-size:clamp(.75rem,1dvw,1.125rem);line-height:clamp(1.125rem,2vw,1.75rem)}.project .block{border-top:1px solid var(--outline);flex-direction:column;justify-content:flex-start;align-items:center;gap:3rem;width:100%;padding-top:clamp(3.75rem,1dvw,6.375rem);display:flex}.project .block .stack{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.5rem,4dvw,3.75rem);width:100%;display:flex}.project .block .stack .tech{background-color:var(--surface-light);border:2px solid var(--outline);border-radius:var(--radius-xl);justify-content:center;align-items:center;padding-block:clamp(.5rem,1dvw,.75rem);padding-inline:clamp(1rem,2dvw,1.5rem);display:flex}.project .block .stack .tech span{color:var(--text100);font-size:clamp(.75rem,1dvw,1.125rem);line-height:clamp(1rem,2dvw,1.25rem)}.project .block .outcomes{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(3.75rem,6dvw,6.375rem);width:100%;display:flex}.project .block .outcomes .outcome{flex-direction:column;justify-content:center;align-items:center;gap:clamp(.375rem,1dvw,.75rem);display:flex}.project .block .outcomes .outcome .result{color:var(--text100);text-wrap:nowrap;font-size:clamp(2rem,3dvw,3rem);font-weight:500;line-height:clamp(1.75rem,3dvw,3.5rem)}.project .block .outcomes .outcome .paragraph{text-wrap:nowrap;font-size:clamp(.625rem,1dvw,1.125rem);font-weight:400;line-height:1.75rem}.project .block .outcomes .outcome .bar{background-color:oklch(from var(--text100) calc(l - .15) c h);width:20%;height:1px}@media (width<=768px){.project .hero{width:100%}.project .hero .links .link{background-color:var(--text100);border:2px solid var(--text100);color:var(--surface-base);flex:1;min-width:30%;font-weight:500}.project .problem,.project .navigation{flex-direction:column}}.project-nav-card{background-color:oklch(from var(--surface-base) calc(l - .02) c h);border:2px solid var(--outline);border-radius:var(--radius-default);flex-direction:column;justify-content:center;width:100%;padding-block:clamp(3.5rem,6dvw,6.25rem);padding-inline:clamp(1.75rem,3dvw,2.5rem);text-decoration:none;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.project-nav-card:before{content:"";background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), oklch(100% .00011 271.152/.08), transparent 40%);z-index:1;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.project-nav-card:hover{border-color:var(--accent)}.project-nav-card:hover:before{opacity:1}.project-nav-card .wrapper{z-index:2;position:relative}.project-nav-card .wrapper .label{color:var(--text200);letter-spacing:.05rem;font-size:clamp(.625rem,1dvw,.875rem);line-height:clamp(1.75rem,3dvw,2.75rem)}.project-nav-card .wrapper .title{color:var(--text100);align-items:center;gap:1.5rem;margin-top:.5rem;font-size:clamp(1.5rem,3dvw,2.5rem);font-weight:500;line-height:clamp(1.25rem,3dvw,2.5rem);display:flex}.project-nav-card .wrapper .title svg{width:clamp(1.25rem,2dvw,1.5rem);height:clamp(1.25rem,2dvw,1.5rem);transition:transform .2s}.project-nav-card:hover svg{transform:translate(5px)}.design-card{-webkit-tap-highlight-color:transparent;cursor:pointer;justify-content:flex-start;align-items:center;gap:1.5rem;width:100%;height:auto;text-decoration:none;display:flex;overflow:hidden}.design-card.reverse{flex-direction:row-reverse}.design-card:hover img{border-color:var(--accent)}.design-card img{border-radius:var(--radius-lg);aspect-ratio:16/9;object-fit:cover;border:2px solid #0000;width:60%;height:auto;min-height:28.125rem;transition:border-color .15s}.design-card .card{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:clamp(1.5rem,1.5vw,3rem);width:40%;padding-block:clamp(1.5rem,1.5vw,3rem);padding-inline:clamp(1.5rem,1.5vw,3rem);display:flex}.design-card .card .card-title{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(.375rem,1vw,.75rem);display:flex}.design-card .card .card-title h2{color:var(--text100);font-size:clamp(1.25rem,1.5vw,2.5rem);font-weight:400;line-height:clamp(1.75rem,1vw,2.5rem)}.design-card .card .card-title .app{color:var(--text200);font-family:var(--font-jetbrains);text-transform:uppercase;font-size:clamp(.625rem,1vw,.75rem);font-weight:400;line-height:1rem}.design-card .card .card-text{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.75rem;display:flex}.design-card .card .card-text h3{color:oklch(from var(--text200) calc(l + .1) c h);font-size:clamp(.625rem,1vw,.75rem);font-weight:600;line-height:1rem}.design-card .card .card-text span{color:oklch(from var(--text200) calc(l + .1) c h);font-size:clamp(.75rem,1.5vw,1.125rem);font-weight:400;line-height:clamp(1.125rem,1.5vw,1.75rem)}@media (width<=768px){.design-card,.design-card.reverse{flex-direction:column-reverse}.design-card img{width:100%;height:14.0625rem;min-height:0}.design-card .card{width:100%;padding:0}}.designer{flex-direction:column;gap:clamp(6.25rem,10vw,12.75rem);display:flex}.designer .hero{width:50%;height:auto;z-index:var(--z-100);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-right:clamp(0rem,5vw,6rem);display:flex}.designer .projects{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(6.375rem,11dvw,12.75rem);width:100%;display:flex}@media (width<=768px){.designer .hero{width:100%}}.project{flex-direction:column;gap:clamp(6.25rem,10dvw,12.75rem);display:flex}.project .title{font-size:clamp(1.25rem,1dvw,1.5rem);font-weight:500;line-height:1.5rem}.project .hero{width:100%;height:auto;z-index:var(--z-100);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.project .hero .back{color:var(--text200);font-size:clamp(.625rem,1dvw,1.125rem);font-weight:400;line-height:auto}.project .hero .header{flex-flow:column wrap;justify-content:flex-start;align-items:flex-start;gap:.75rem;width:100%;display:flex}.project .hero .header .paragraph{width:50%}.project .hero .header .role{color:oklch(from var(--text100) calc(l - .15) c h);font-size:clamp(.625rem,1vw,.875rem);font-family:var(--font-jetbrains);letter-spacing:0;text-transform:uppercase;margin-top:.5rem;font-weight:400;line-height:clamp(1.5rem,4vw,1.75rem)}.project .hero .links{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:1.5rem;width:100%;margin-top:clamp(1.5rem,2dvw,2rem);display:flex}.project .hero .links .link{border:2px solid var(--outline);border-radius:var(--radius-default);color:var(--text100);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.75rem;padding-block:.75rem;padding-inline:1.5rem;font-size:.875rem;font-weight:400;line-height:1rem;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s,transform .25s;display:flex}.project .hero .links .link:hover{background-color:var(--text100);border-color:var(--text100);color:var(--surface-base);font-weight:500}.project .hero .links .link:active{transform:scale(.95)}.project .hero .links .link svg{width:1rem}.project .banner{background-color:var(--surface-light);border-radius:var(--radius-default);object-fit:cover;aspect-ratio:16/9;width:100%;max-height:70dvh}.project .content{flex-direction:column;justify-content:flex-start;align-items:center;gap:3rem;width:100%;display:flex}.project .content .container{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:.75rem;width:80%;display:flex}.project .content .container .paragraph{font-size:clamp(.75rem,1dvw,1.125rem);line-height:clamp(1.125rem,2vw,1.75rem)}.project .content .cards{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:2.375rem;width:100%;display:flex}.project .content .cards .title{font-size:clamp(.835rem,1dvw,1.125rem);font-weight:400;line-height:1.75rem}.project .content .cards .paragraph{font-size:clamp(.75rem,1dvw,1rem)}.project .content .cards .card{background-color:var(--surface-light);border:2px solid var(--outline);border-radius:var(--radius-default);flex-direction:column;flex:1;justify-content:flex-start;align-items:flex-start;gap:.75rem;min-width:clamp(15rem,15dvw,25rem);padding:clamp(.75rem,2dvw,1.5rem);display:flex}.project .content .cards .card svg{width:clamp(1rem,2dvw,1.75rem);height:clamp(1rem,2dvw,1.75rem)}.project .content .cards .method{border:2px solid var(--outline);border-radius:var(--radius-default);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;flex:1;justify-content:flex-end;align-items:flex-start;gap:.75rem;min-width:clamp(25rem,15dvw,30rem);min-height:clamp(15rem,25dvw,30rem);padding:clamp(1.75rem,3dvw,2.5rem);display:flex}.project .content .cards .method .paragraph{color:oklch(from var(--text200) calc(l + .15) c h)}.project .navigation{justify-content:center;align-items:center;gap:clamp(1.5rem,10dvw,12.75rem);width:100%;display:flex}@media (width<=1600px){.project .hero .header .paragraph{width:60%}}@media (width<=1400px){.project .hero .header .paragraph{width:75%}}@media (width<=1200px){.project .hero .header .paragraph{width:85%}}@media (width<=768px){.project .hero,.project .hero .header .paragraph{width:100%}.project .hero .links .link{background-color:var(--text100);border:2px solid var(--text100);color:var(--surface-base);flex:1;font-weight:500}.project .content .container{width:100%}.project .content .cards .method{min-width:100%}.project .navigation{flex-direction:column}}.photographer{flex-direction:column;gap:clamp(6.25rem,10vw,12.75rem);display:flex}.photographer .hero{width:50%;height:auto;z-index:var(--z-100);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-right:clamp(0rem,5vw,6rem);display:flex}.photographer .services{flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,4vw,3rem);display:flex}@media (width<=768px){.photographer .hero{width:100%}}.gallery{flex-direction:column;gap:clamp(3.75rem,10dvw,6.375rem);display:flex}.gallery .hero{width:100%;height:auto;z-index:var(--z-100);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.gallery .hero .back{color:var(--text200);font-size:clamp(.625rem,1dvw,1.125rem);font-weight:400;line-height:auto}.gallery .hero .header{border-bottom:1px solid var(--outline);justify-content:space-between;align-items:flex-end;width:100%;padding-bottom:clamp(1.5rem,3dvw,3rem);display:flex}.gallery .hero .header .genres{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.gallery .hero .header .genres .genre{color:var(--text200);text-wrap:nowrap;cursor:pointer;font-size:clamp(1rem,1dvw,1.125rem);line-height:clamp(1.125rem,2dvw,1.75rem);transition:color .15s,font-size .15s}.gallery .hero .header .genres .genre:hover{color:oklch(from var(--text200) calc(l + .2) c h)}.gallery .hero .header .genres .genre.active{color:var(--accent);font-size:clamp(1.125rem,1dvw,1.25rem)}@media (width<=768px){.gallery .hero .header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1.5rem;max-width:100dvw}.gallery .hero .header .genres{scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;gap:2rem;width:100%;overflow-x:auto}.gallery .hero .header .genres::-webkit-scrollbar{display:none}.gallery .hero .header .genres .genre{flex-shrink:0}}@media (width<=1480px){.gallery .hero .header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1.5rem;max-width:100dvw}.gallery .hero .header .genres{justify-content:flex-start;width:100%}}.masonry-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3dvw,3rem);width:100%;margin:0 auto;display:grid}.masonry-grid .grid-col{flex-direction:column;gap:clamp(1.5rem,3dvw,3rem);display:flex}.masonry-grid .grid-col .item{border-radius:var(--radius-default);background-color:var(--surface-light);position:relative;overflow:hidden}.masonry-grid .grid-col .item:after{content:"";opacity:0;width:100%;height:100%;z-index:var(--z-200);background-color:oklch(0% 0 0/.1);transition:opacity .15s;position:absolute;top:0;left:0}.masonry-grid .grid-col .item img{object-fit:cover;aspect-ratio:auto;width:100%;transition:transform .15s;display:block}.masonry-grid .grid-col .item:hover{cursor:crosshair}.masonry-grid .grid-col .item:hover:after{opacity:1}.masonry-grid .grid-col .item:hover img{transform:scale(1.1)}@media (width<=1480px){.masonry-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1240px){.masonry-grid{grid-template-columns:1fr}}@media (width<=768px){.masonry-grid{grid-template-columns:1fr}}.photobar{justify-content:space-between;align-items:center;width:54%;min-height:10vh;padding-right:clamp(1.5rem,5vw,3.75rem);display:flex}.photobar .logo{flex-direction:row;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1.5rem);height:10vh;padding:1.125rem 0;display:flex}.photobar .logo img{width:auto;height:clamp(2rem,5vh,100%)}.photobar .logo h1{font-family:var(--font-cherish);color:var(--text100);font-size:clamp(1.5rem,4vw,2.25rem)}.photobar a{-webkit-tap-highlight-color:transparent;cursor:pointer;text-decoration:none;transition:color .15s,transform .15s}.photobar a:visited{color:var(--text200)}.photobar a:hover path{fill:oklch(from var(--text200) calc(l + .25) c h)}.photobar a:active{transform:scale(.95)}.photobar .icons{justify-content:flex-end;align-items:center;gap:clamp(1.75rem,1dvw,2rem);display:flex}.photobar .icons svg{aspect-ratio:1;width:clamp(1.5rem,1dvw,1.875rem)}@media (width<=768px){.photobar{width:100%;min-height:7vh;padding-inline:1.5rem}}.lightbox{background-color:var(--surface-base);width:100dvw;height:100dvh;z-index:var(--z-300);overscroll-behavior:contain;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0}.lightbox .light{right:clamp(-10rem,20vw,20rem)}.lightbox .bar{justify-content:flex-end;align-items:center;width:100%;display:flex}.lightbox .image{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.lightbox .image img{object-fit:contain;width:auto;max-width:60rem;height:auto;max-height:70vh}.lightbox .image svg{cursor:pointer;aspect-ratio:1;width:4rem;position:absolute}.lightbox .image svg.left{left:clamp(2rem,5vw,6rem);transform:rotate(180deg)}.lightbox .image svg:not(.left){right:clamp(2rem,5vw,6rem)}.lightbox .info-paragraph{display:none}.lightbox .info{justify-content:center;align-items:center;gap:4rem;width:100%;margin-bottom:2rem;display:flex}.lightbox .info .wrapper{justify-content:center;align-items:center;gap:.375rem;display:flex}.lightbox .info .wrapper span{color:var(--text200);letter-spacing:.1rem;text-transform:uppercase;font-size:.75rem;font-weight:600;line-height:1rem}.lightbox .info .wrapper span.only{display:none}.lightbox .info .wrapper svg{aspect-ratio:1;width:1.5rem}@media (width<=1600px){.lightbox .image img{width:100%;max-width:60%}}@media (width<=1080px){.lightbox .image img{width:100%;max-width:80%}}@media (width<=1440px){.lightbox .image img{width:100%;max-width:70%}}@media (width<=768px){.lightbox .image{padding-inline:1.5rem}.lightbox .image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:60vh}.lightbox .image svg{display:none}.lightbox .info-paragraph{color:var(--text200);letter-spacing:.1rem;text-transform:uppercase;font-size:.75rem;font-weight:600;line-height:1rem;display:inline;position:absolute;bottom:15dvh;left:auto;right:auto}.lightbox .info{justify-content:space-between;align-items:center;gap:0;width:100%;margin-bottom:2rem;padding-inline:1.5rem;display:flex}.lightbox .info .wrapper{flex-direction:column}.lightbox .info .wrapper:not(.mobile,.only),.lightbox .info .wrapper span:not(.mobile){display:none}.lightbox .info .wrapper .only{display:inline!important}}.about{flex-direction:column;gap:clamp(6.25rem,10vw,12.75rem);display:flex}.about .hero{width:100%;height:auto;z-index:var(--z-100);justify-content:space-between;align-items:flex-start;gap:clamp(2rem,5vw,4rem);padding-right:clamp(0rem,5vw,6rem);display:flex}.about .hero .hero-text{flex-direction:column;flex:300px;justify-content:center;align-items:flex-start;gap:clamp(3rem,4vw,3rem);height:auto;display:flex}.about .hero .hero-text .text{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.75rem;display:flex}.about .hero .hero-text .text .location{justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.about .hero .hero-text .text .location svg{aspect-ratio:1;width:clamp(.625rem,10dvw,1.0625rem)}.about .hero .hero-text .text .location .city{color:var(--text200);letter-spacing:.1rem;text-transform:uppercase;font-size:clamp(.625rem,5vw,.75rem);font-weight:600;line-height:1rem}.about .hero .hero-text .text .paragraph{max-width:70%}.about .hero .hero-text a{color:var(--text100);border:.125rem solid var(--outline);border-radius:var(--radius-default);letter-spacing:.05rem;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:.75rem;min-width:17%;padding:clamp(.75rem,2vw,1.125rem) clamp(1.5rem,4vw,2.25rem);font-size:.75rem;font-weight:400;line-height:1.5;text-decoration:none;transition:all .2s ease-in-out;display:flex}.about .hero .hero-text a:hover{color:var(--surface-base);background-color:var(--text100);border-color:var(--text100);font-weight:500}.about .hero .hero-text a:hover .icon{transform:translate(.5rem)}.about .hero .hero-text a:hover .icon path{fill:var(--surface-base)}.about .hero .hero-text a .icon{width:.875rem;height:.875rem;transition:transform .2s ease-in-out}.about .hero img{width:clamp(5rem,14vw - 2.3rem,14rem);max-width:100%;height:auto}.about .tech-cards{justify-content:center;align-items:center;gap:clamp(2.5rem,4dvw,7.5rem);display:flex}.about .container{background-color:var(--surface-dark);border:2px solid var(--outline);border-radius:var(--radius-default);flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,4dvw,3.75rem);width:100%;padding-block:clamp(1.5rem,5dvw,7.5rem);padding-inline:clamp(1.5rem,1dvw,15rem);display:flex}.about .container .text{flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,2dvw,2rem);width:65%;display:flex}.about .container .text h1{color:var(--text100);letter-spacing:.1rem;font-size:clamp(1.25rem,2dvw,2.5rem);font-weight:400;line-height:clamp(1.25rem,2dvw,2.5rem)}.about .container .text p{color:var(--text200);text-align:center;font-size:clamp(.75rem,1dvw,1.125rem);font-weight:400;line-height:clamp(1.125rem,2dvw,1.75rem)}.about .container .emails{border-top:1px solid var(--outline);justify-content:space-between;align-items:center;width:65%;padding-top:clamp(1.5rem,4dvw,3.75rem);display:flex}.about .container .emails .email{flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(.375rem,2vw,1.5rem);display:flex}.about .container .emails .email h2{color:var(--text200);letter-spacing:.1rem;font-size:clamp(.75rem,1vw,1.125rem);font-weight:400;line-height:clamp(1.125rem,2vw,1.75rem)}.about .container .emails .email a{color:var(--text100);border:.125rem solid var(--outline);border-radius:var(--radius-default);letter-spacing:.05rem;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:.75rem;padding:clamp(.75rem,2vw,1.125rem) clamp(1.5rem,4vw,2.25rem);font-size:clamp(.625rem,1vw,.75rem);font-weight:400;line-height:clamp(1rem,1dvw,1.5rem);text-decoration:none;transition:all .2s ease-in-out;display:flex}.about .container .emails .email a:hover{color:var(--surface-base);background-color:var(--text100);border-color:var(--text100);font-weight:500}.about .container .emails .email a:hover .icon{transform:translate(.5rem)}.about .container .emails .email a:hover .icon path{fill:var(--surface-base)}.about .container .emails .email a .icon{width:.875rem;height:.875rem;transition:transform .2s ease-in-out}@media (width<=768px){.about .hero{padding-right:0}.about .hero .hero-text .text .paragraph{max-width:100%}.about .hero .hero-text a{color:var(--surface-base);background-color:var(--text100);border-color:var(--text100);justify-content:center;align-items:center;width:100%;font-weight:500;display:flex}.about .hero .hero-text a .icon path{fill:var(--surface-base)}.about .hero img{display:none}.about .tech-cards{flex-direction:column;gap:1.5rem}.about .container .text{width:100%}.about .container .emails{flex-direction:column;gap:1.5rem;width:100%;padding-inline:0}.about .container .emails .email{width:100%}.about .container .emails .email a{width:100%;max-width:100%;color:var(--surface-base);background-color:var(--text100);border-color:var(--text100);font-weight:500}.about .container .emails .email a .icon path{fill:var(--surface-base)}}@media (width<=1024px){.about .container .text{width:100%}.about .container .emails{flex-direction:column;gap:1.5rem;width:100%;padding-inline:0}.about .container .emails .email{width:100%}}@media (width<=1600px){.about .container .text{width:100%}.about .container .emails{width:100%;padding-inline:0}.about .container .emails .email{width:100%}}.quote{flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(1.5rem,3dvw,3rem);width:100%;display:flex}.quote svg{aspect-ratio:1;width:clamp(2.25rem,5dvw,3.75rem)}.quote .text{flex-direction:column;justify-content:flex-start;align-items:center;gap:clamp(.75rem,2dvw,1.5rem);width:100%;display:flex}.quote .text h1{color:var(--text100);text-align:center;font-size:clamp(1rem,3dvw,3rem);font-weight:600;line-height:clamp(1.375rem,3dvw,3.5rem)}.quote .text span{color:var(--text200);font-size:clamp(.625rem,2vw,1.125rem);font-weight:400;line-height:auto}.scroll-track{width:100%;height:300dvh;position:relative}.scroll-track .sticky-layout{justify-content:space-between;align-items:flex-start;width:100%;display:flex;position:sticky;top:20dvh}.scroll-track .sticky-layout .icons-sidebar{flex-direction:column;gap:clamp(7rem,2dvw,10rem);margin-left:clamp(5rem,11dvw,12rem);display:flex;position:relative}.scroll-track .sticky-layout .icons-sidebar .line{background:var(--outline);z-index:-1;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.scroll-track .sticky-layout .icons-sidebar .icon-wrapper{border-radius:var(--radius-full);background:var(--surface-base);border:2px solid var(--outline);justify-content:center;align-items:center;width:clamp(3rem,6dvw,6.25rem);height:clamp(3rem,6dvw,6.25rem);transition:border-color .2s;display:flex}.scroll-track .sticky-layout .icons-sidebar .icon-wrapper svg{aspect-ratio:1;width:clamp(1.125rem,2vw,2.25rem)}.scroll-track .sticky-layout .icons-sidebar .icon-wrapper.active{border-color:var(--accent)}.scroll-track .sticky-layout .icons-sidebar .icon-wrapper.active path{fill:var(--accent)}.scroll-track .sticky-layout .content-side{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(1.5rem,3dvw,3rem);width:60%;display:flex}.scroll-track .sticky-layout .content-side h2{color:var(--text100);text-transform:capitalize;font-size:clamp(1.25rem,3dvw,2.5rem);font-weight:400;line-height:2.5rem}.scroll-track .sticky-layout .content-side .text-animate{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(.75rem,2dvw,1.5rem);width:100%;display:flex}.scroll-track .sticky-layout .content-side .text-animate p{color:oklch(from var(--text200) calc(l + .15) c h);font-size:clamp(.75rem,1dvw,1.125rem);font-weight:300;line-height:clamp(1.125rem,2dvw,1.75rem);animation:.3s forwards slideIn}@media (width<=768px){.scroll-track .sticky-layout{flex-direction:column-reverse;align-items:center;gap:6rem}.scroll-track .sticky-layout .icons-sidebar{flex-direction:row;justify-content:center;margin-left:0}.scroll-track .sticky-layout .icons-sidebar .line{z-index:-1;width:100%;height:2px;top:50%;bottom:auto;left:0;transform:translateY(-50%)}.scroll-track .sticky-layout .content-side{width:100%}.scroll-track .sticky-layout .content-side .text-animate p{font-weight:400}}@keyframes slideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.about-card{background-color:var(--surface-light);border:2px solid var(--outline);border-radius:var(--radius-default);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(1.5rem,2dvw,2rem);width:100%;height:auto;padding:1.5rem;display:flex}.about-card svg{aspect-ratio:1;width:clamp(1.375rem,2dvw,1.75rem)}.about-card h2{color:var(--text100);font-size:clamp(1.25rem,2dvw,1.5rem);font-weight:400;line-height:2.5rem}.about-card .tech{border-top:1px solid var(--outline);flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;padding-top:clamp(.5rem,1dvw,1rem);display:flex}.about-card .tech span{color:var(--text200);font-size:clamp(.625rem,1dvw,.75rem);font-weight:400;line-height:1rem}
