:root{--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--gray-100:#edf2f7;--gray-200:#e2e8f0;--gray-300:#cbd5e0;--gray-800:#1a202c;--muted:#757575;--radius:.375rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--bg:#fff;--fg:var(--gray-800);--header-bg:#fff9;--header-border:#0000001a;--border:var(--gray-200);--border-hover:var(--gray-300);--button-bg:var(--gray-100);--button-hover:var(--gray-200);--button-active:var(--gray-300);--input-bg:#ffffffb3;--menu-bg:#1a202ce6;--menu-fg:#fff;color-scheme:light}:root[data-theme=dark]{--bg:var(--gray-800);--fg:#ffffffeb;--header-bg:#1a202c99;--header-border:#ffffff1a;--border:#ffffff29;--border-hover:#ffffff3d;--button-bg:#ffffff14;--button-hover:#ffffff29;--button-active:#ffffff3d;--input-bg:#2b2d36b3;--menu-bg:#ffffffe6;--menu-fg:#000;color-scheme:dark}*,:before,:after{box-sizing:border-box;border:0 solid var(--border);margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;line-height:1.5}body{font-family:var(--font);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color .2s}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit;background:0 0}button{cursor:pointer}ul{list-style:none}h1,h2,h3{font-weight:700}.screen-reader-text{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link:focus{clip-path:none;z-index:1000;background:var(--bg);width:auto;height:auto;margin:0;padding:1rem;top:5px;left:5px}:focus-visible{outline-offset:2px;outline:2px solid #3182ce}.heading-2xl{font-size:2.25rem;line-height:1.2}.heading-xl,.page-section h2{font-size:1.875rem;line-height:1.33}@media (width>=48em){.heading-2xl{font-size:3rem;line-height:1}.heading-xl,.page-section h2{font-size:2.25rem;line-height:1.2}}.button{white-space:nowrap;border-radius:var(--radius);background:var(--button-bg);justify-content:center;align-items:center;gap:.5rem;min-width:3rem;height:3rem;padding:0 1.5rem;font-size:1.125rem;font-weight:600;line-height:1.2;transition:background-color .25s;display:inline-flex;&:hover{background:var(--button-hover);text-decoration:none}&:active{background:var(--button-active)}& svg{width:1em;height:1em;transition:transform .3s ease-in-out}}@media (width>=30em){.button:hover svg{transform:translate(50%)}}.site-header{z-index:100;background:var(--header-bg);border-bottom:.1rem solid #0000;justify-content:center;align-items:center;width:100%;padding-top:1rem;padding-bottom:1rem;transition:padding-top .3s ease-in-out .6s,border-color .3s;display:flex;position:fixed;top:0;&.active{border-bottom-color:var(--header-border);backdrop-filter:blur(10px);padding-top:1rem!important}&.menu-open{backdrop-filter:none}}.header-inner{justify-content:space-between;align-items:center;width:100%;padding:0 1rem;transition:padding .3s ease-in-out .6s;display:flex;position:relative}@media (width>=48em){.site-header{padding-top:3rem}.header-inner{padding:0 3rem}}@media (width>=62em){.site-header{padding-top:2rem}.header-inner{padding:0 2rem}.site-header.active .header-inner{padding:0 5rem}}@media (width>=80em){.header-inner{max-width:1530px}}.logo-container{z-index:10;width:fit-content;height:24px;color:var(--fg);line-height:1;display:flex;position:relative;.menu-open &{color:var(--menu-fg)}}.logo{width:1.5rem;height:1.5rem;overflow:visible}.logo-rect,.logo-circle{transition:transform .3s ease-in-out .3s,width .3s ease-in-out .3s}.active .logo-rect{transition:transform .3s ease-in-out,width .3s ease-in-out;transform:rotate(90deg)matrix(.1,0,0,3.72,400,-1780)}.active .logo-circle{transition:transform .3s ease-in-out,width .3s ease-in-out;transform:rotate(0)matrix(.55,0,0,.6,1230,80)}.logo-text{opacity:0;width:fit-content;height:24px;font-size:1.2rem;font-weight:700;line-height:1;transition:transform .3s ease-in-out,opacity .3s ease-in-out;display:flex;position:absolute;transform:matrix(0,0,0,0,8,10);.active &{opacity:1;transition:transform 0s ease-in-out .3s,opacity .3s ease-in-out .3s;transform:matrix(1,0,0,1,0,0)}}.header-buttons{z-index:10;justify-content:center;align-items:center;display:flex;position:relative}.menu-toggle{height:25px;color:var(--fg);margin-right:1rem;padding:0 .25rem;font-weight:600;line-height:1;.menu-open &{color:var(--menu-fg)}}.color-mode-toggle{justify-content:center;align-items:center;width:25px;height:25px;display:flex;.menu-open &{visibility:hidden}& svg{width:23px;height:23px}& .sun{display:none}}[data-theme=dark] .color-mode-toggle{& .sun{display:block}& .moon{display:none}}.menu-nav{visibility:hidden;justify-content:center;align-items:center;transition:visibility 0s linear 1s;display:flex;position:fixed;inset:0;.menu-open &{visibility:visible;transition:none}}.menu-background{background:var(--menu-bg);clip-path:circle(0 at var(--menu-x,26px) var(--menu-y,24px));transition:clip-path .6s cubic-bezier(.4,0,.2,1) .4s;position:absolute;inset:0;.menu-open &{clip-path:circle(150vmax at var(--menu-x,26px) var(--menu-y,24px));transition:clip-path 1s cubic-bezier(.25,1,.5,1)}}.menu-list{flex-direction:column;display:flex;position:relative}.menu-item{opacity:0;transition:opacity .3s,transform .3s;transition-delay:calc((4 - var(--i)) * 50ms);align-items:center;display:flex;transform:translateY(50px);.menu-open &{opacity:1;transition-delay:calc(.2s + var(--i) * 70ms);transform:none}&:hover{transform:scale(1.1)}& a{text-transform:uppercase;width:fit-content;color:var(--menu-fg);flex:1;font-size:3rem;font-weight:700;line-height:1.5}}.menu-dot{border:2px solid var(--dot);border-radius:50%;flex:0 0 40px;width:40px;height:40px;margin-right:20px}@media (width>=30em){.menu-item a{font-size:4rem}}@media (width>=48em){.menu-item a{font-size:5rem}}@media (width>=62em){.menu-item a{font-size:6rem}}.social-icons{z-index:100;flex-direction:column;display:none;position:fixed;bottom:1.3rem;left:1.25rem;& a{border-radius:50%;transition:background-color .25s;display:block;&:hover{background:var(--button-hover)}}& svg{width:2.5rem;height:2.5rem;fill:var(--fg);padding:.5rem}& .instagram{stroke:var(--bg)}}@media (width>=62em){.social-icons{display:flex}}@media (width>=1525px){.social-icons{left:calc(1rem + 50vw - 762.5px)}}.page{animation:1s .25s both page-in}@keyframes page-in{0%{opacity:0}}.page-content{padding:5rem 1rem 0;position:relative}@media (width>=48em){.page-content{padding:5rem 3rem 0}}@media (width>=62em){.page-content{padding:5rem 5rem 0}}@media (width>=80em){.page-content,.site-footer{max-width:1525px;margin:0 auto}}.watermark{text-align:center;font-size:clamp(2.3rem,20vw,28rem);line-height:1.1;position:relative;&.vision{font-size:clamp(2.3rem,30vw,28rem)}&.contact{font-size:clamp(2.3rem,13vw,28rem)}}@media (width>=48em){.watermark{opacity:.03;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.page-sections{flex-direction:column;gap:3rem;padding:3rem 0;display:flex}.page-section{flex-direction:column;display:flex;& p{max-width:600px}}@media (width>=30em){.page-sections{gap:4rem;padding:4rem 0}}@media (width>=48em){.page-sections{gap:5rem;padding:5rem 0}.page-section:nth-child(2n){align-items:flex-end}}.project-list{flex-direction:column;gap:3rem;margin-top:3rem;display:flex}.project-container{box-shadow:var(--shadow-md);display:block;position:relative;& h3{z-index:2;text-align:center;color:#fff;background:#1a202ccc;width:100%;padding:1rem 0;font-size:1.5rem;font-weight:900;line-height:1.33;position:absolute;top:0;left:0}& figure{aspect-ratio:3/4;position:relative;overflow:hidden}& img{object-fit:cover;width:100%;height:100%}& .view{z-index:2;color:#fff;background:#1a202ccc;position:absolute;bottom:1.25rem;left:1.25rem}&:hover .view{background:#1a202cb3}&:active .view{background:#1a202c}}@media (width>=30em){.project-container figure{aspect-ratio:1}}@media (width>=48em){.project-container{& h3{text-align:left;background:0 0;width:auto;padding:0;top:1.25rem;left:1.25rem}& figure{aspect-ratio:100/87}}}@media (width>=62em){.project-container figure{aspect-ratio:5/3}}.form-wrap{justify-content:center;align-items:center;padding-bottom:5rem;display:flex}.contact-form{width:100%;max-width:350px;padding:20px 0;position:relative}.form-control{flex-direction:column-reverse;margin:1rem 0;display:flex;& label{z-index:2;opacity:0;margin-bottom:.5rem;font-size:1.125rem;font-weight:500;transition:transform .3s ease-in-out,opacity .3s ease-in-out;position:relative;transform:translate(15px,42.5px);& span{color:#e53e3e;margin-left:.25rem}}& input:focus+label,& textarea:focus+label,& input:not(:placeholder-shown)+label,& textarea:not(:placeholder-shown)+label{opacity:1;transform:translate(15px)}& input,& textarea{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff14;width:100%;padding:0 1rem;font-size:1.125rem;transition:border-color .2s,box-shadow .2s;&:hover{border-color:var(--border-hover)}&:focus{border-color:#3182ce;outline:none;box-shadow:0 0 0 1px #3182ce}}& input{height:3rem}& textarea{resize:none;min-height:140px;padding-top:.5rem}}@media (width>=48em){.form-control input,.form-control textarea{background:var(--input-bg)}}.hp-field{position:absolute;left:-10000px}.divider{border-bottom:1px solid var(--border);opacity:.6;margin-bottom:1rem}.site-footer{flex-wrap:wrap;justify-content:space-between;padding:4rem 1rem;display:flex;& a:hover{text-decoration:underline}}.footer-nav{margin-bottom:4rem}.footer-nav-list{column-count:2;column-gap:2rem;padding-right:1rem}.footer-info{flex-direction:column;gap:.5rem;display:flex;& strong{font-weight:700}}@media (width>=30em){.footer-nav-list{column-gap:4rem}}@media (width>=48em){.divider{margin-bottom:3rem}.site-footer{padding:6rem 3rem}.footer-nav{margin-bottom:0}.footer-nav-list{column-gap:5rem}}@media (width>=62em){.site-footer{padding:6rem 5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.project-container picture{height:100%;display:block}
