.theme-light{--bg: #f8f7f5;--text: #2a2a32;--primary: #3d5a80;--secondary: #8a8a9a}.theme-dark{--bg: #0d0d12;--text: #e8e8ed;--primary: #6b8cad;--secondary: #9e9eb0}body{background-color:var(--bg);color:var(--text);transition:background-color .3s,color .3s}body .primary{color:var(--primary)}body .btn-primary{background-color:var(--primary);color:var(--bg)}@font-face{font-family:Montserrat;font-style:normal;font-weight:100;src:url(/fonts/Montserrat-Thin.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;src:url(/fonts/Montserrat-Light.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;src:url(/fonts/Montserrat-Bold.ttf) format("truetype")}html{font-family:sans-serif}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}html{font-size:62.5%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:16px;font-size:1.6rem;background:#f8f7f5;color:#2a2a32;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;line-height:1.65;margin:0;padding:0;position:relative;overflow-y:scroll;height:auto}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}a,img,button{border:0 none;text-decoration:none}a:focus-visible,img:focus-visible,button:focus-visible{outline:2px solid #3d5a80;outline-offset:2px;border-radius:2px}a{color:#3d5a80;text-decoration:none;transition:color .2s ease}a:hover{color:#2c4a6e;cursor:pointer}a:active{color:#2c4a6e}.text-container a:not(.project-card__image),.project-description a:not(.project-card__image),.project-card__body a:not(.project-card__image),.image-container a:not(.project-card__image),.profile-container a:not(.project-card__image){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.text-container a:not(.project-card__image):hover,.project-description a:not(.project-card__image):hover,.project-card__body a:not(.project-card__image):hover,.image-container a:not(.project-card__image):hover,.profile-container a:not(.project-card__image):hover{text-decoration-thickness:2px}.link-icon{padding-left:6px;vertical-align:middle;font-size:12px;font-size:1.2rem;opacity:.6}video{width:100%}strong{font-weight:600}.inverse-title{color:#bfbfc8}::-webkit-scrollbar{background:#f8f7f5;width:8px}::-webkit-scrollbar-track{background:#f8f7f5}::-webkit-scrollbar-thumb{background:#e2e2e8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#bfbfc8}::selection{background:#3d5a8026;color:#141419}.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:8px 16px;background:#141419;color:#f8f7f5;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-size:14px;font-weight:500;text-decoration:none;border-radius:0 0 6px 6px}.skip-link:focus{top:0;color:#f8f7f5}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.id-container h1{font-size:22px;font-size:2.2rem;color:#141419;font-family:Montserrat,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:300;line-height:1;margin:0;padding:0;letter-spacing:-.02em}@media (max-width: 1279px){.id-container h1{display:none}}h2{font-size:32px;font-size:3.2rem;border-bottom:none;clear:both;color:#141419;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em;line-height:1.2;margin:0;padding:0;text-align:left;text-transform:none}@media (max-width: 768px){h2{font-size:26px;font-size:2.6rem}}.section-heading{margin:96px 5% 48px}@media (max-width: 768px){.section-heading{margin:56px 5% 32px}}h3{font-size:26px;font-size:2.6rem;color:#141419;font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.01em;line-height:1.25;margin:0 0 16px;padding:0}h4{font-size:14px;font-size:1.4rem;color:#2a2a32;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:600;line-height:1.2;margin:0;padding:0}h5{font-size:11px;font-size:1.1rem;color:#8a8a9a;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:500;letter-spacing:.08em;line-height:1.2;margin:0;padding:0;text-transform:uppercase}h6{font-size:11px;font-size:1.1rem;color:#8a8a9a;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:400;margin:0;padding:0}.grid-container{display:grid;grid-gap:56px 3%;grid-template-columns:1fr 1fr 1fr 1fr;margin-left:5%;margin-right:5%}@media (max-width: 1920px){.grid-container{grid-gap:48px 3%;grid-template-columns:1fr 1fr}}@media (max-width: 768px){.grid-container{grid-gap:36px 0;grid-template-columns:1fr}}.grid-container--featured{display:grid;grid-gap:48px 3%;grid-template-columns:1fr 1fr 1fr;margin-left:5%;margin-right:5%}@media (max-width: 1920px){.grid-container--featured{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.grid-container--featured{grid-gap:36px 0;grid-template-columns:1fr}}.grid-container--featured .project-card{display:flex;flex-direction:column}.grid-container--featured .project-card__image{border-radius:1.25rem;overflow:hidden;margin-bottom:20px}.grid-container--featured .project-card__image img{width:100%;height:auto;display:block;transition:transform .5s cubic-bezier(.25,.46,.45,.94),opacity .3s ease}.grid-container--featured .project-card__image:hover img{transform:scale(1.03);opacity:.92}.grid-container--featured .project-card__image--static{cursor:default}.grid-container--featured .project-card__image--static:hover img{transform:none;opacity:1}.grid-container--featured .project-card__body h3{font-size:22px;font-size:2.2rem;margin-bottom:10px}.grid-container--featured .project-card__body p{font-size:15px;font-size:1.5rem;color:#5c5c6e;line-height:1.7;margin-bottom:14px}.grid-container--featured .project-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.grid-container--featured .project-card__links{display:flex;gap:16px;margin-top:auto}.grid-container--featured .project-card__links a{font-size:13px;font-size:1.3rem;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:500;letter-spacing:.01em;transition:color .2s ease,transform .2s ease}.grid-container--featured .project-card__links a:hover{transform:translateY(-1px)}.about-container{display:grid;grid-gap:64px 4%;grid-template-columns:1fr 1fr;margin-left:auto;margin-right:auto;max-width:1030px}@media (max-width: 1920px){.about-container{grid-gap:48px 3%;grid-template-columns:1fr 1fr}}@media (max-width: 768px){.about-container{grid-gap:32px 0;grid-template-columns:1fr}}.project{background:transparent}.project-container,.codepen-container,.project-link{font-size:16px;font-size:1.6rem;border:0 none;border-radius:1.25rem;box-shadow:none;color:#fff;display:block;font-weight:700;margin-left:auto;margin-top:auto;overflow:hidden;padding:0;text-decoration:none;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease}.project-container img,.codepen-container img,.project-link img{border-radius:1.25rem;transition:transform .5s cubic-bezier(.25,.46,.45,.94),opacity .3s ease}.project-container img:hover,.codepen-container img:hover,.project-link img:hover{opacity:.92}.project-container:hover,.codepen-container:hover,.project-link:hover{transform:translateY(-3px);box-shadow:0 16px 48px #14141914}.project-container:hover img,.codepen-container:hover img,.project-link:hover img{transform:scale(1.02)}.project-container.project-link-stub,.codepen-container.project-link-stub,.project-link.project-link-stub{display:flex;align-items:center;justify-content:center;aspect-ratio:538/368;background:#f0f0f3;border:1px solid #e2e2e8;border-radius:1.25rem}.project-container.project-link-stub .stub-label,.codepen-container.project-link-stub .stub-label,.project-link.project-link-stub .stub-label{font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:400;font-size:14px;font-size:1.4rem;color:#8a8a9a;letter-spacing:.04em}@media (max-width: 1279px){.description{padding-bottom:40px}}.description h6{color:#5c5c6e}.description .duration{font-style:italic}.description p{font-size:15px;font-size:1.5rem;color:#5c5c6e;line-height:1.7;margin-bottom:14px}.description a{font-size:13px;font-size:1.3rem;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:500;letter-spacing:.01em;transition:color .2s ease,transform .2s ease;display:inline-block}.description a:hover{transform:translateY(-1px)}.tag,.description .badge.badge-pill.badge-secondary{background:transparent;border:1px solid #bfbfc8;border-radius:4px;color:#8a8a9a;font-family:Montserrat,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-size:10px;font-weight:400;letter-spacing:.02em;margin:0 4px 4px 0;padding:3px 8px;display:inline-block}[style*=--aspect-ratio]>:first-child{width:100%}[style*=--aspect-ratio]>img{height:auto}@supports (--custom: property){[style*=--aspect-ratio]{position:relative}[style*=--aspect-ratio]:before{content:"";display:block;padding-bottom:calc(100% / (var(--aspect-ratio)))}[style*=--aspect-ratio]>:first-child{height:100%;left:0;position:absolute;top:0}}.page-wrap{left:0;overflow:hidden;position:absolute;transition:left .3s ease;width:100%}.main-column{background:#f8f7f5;clear:both;min-height:100vh;padding:0 0 100px;position:relative}.main-column:after{clear:both;content:"";display:table}.hero-intro{padding:170px 5% 80px}@media (max-width: 768px){.hero-intro{padding:120px 5% 48px}}.hero-intro__label{font-size:11px;font-size:1.1rem;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8a8a9a;margin-bottom:24px;display:block}.hero-intro__name{font-size:56px;font-size:5.6rem;font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-style:italic;color:#141419;line-height:1.08;margin:0 0 24px;letter-spacing:-.02em}@media (max-width: 1279px){.hero-intro__name{font-size:42px;font-size:4.2rem}}@media (max-width: 768px){.hero-intro__name{font-size:34px;font-size:3.4rem}}.hero-intro__description{font-size:18px;font-size:1.8rem;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:300;color:#5c5c6e;line-height:1.6;max-width:640px;margin:0}@media (max-width: 768px){.hero-intro__description{font-size:16px;font-size:1.6rem}}.hero-intro__meta{font-size:12px;font-size:1.2rem;font-family:Montserrat,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:400;color:#8a8a9a;margin-top:32px;letter-spacing:.02em}.hero-intro__meta a{color:#8a8a9a;text-decoration:none;transition:color .2s ease}.hero-intro__meta a:hover{color:#3d5a80}.hero-intro__meta span{margin:0 8px;opacity:.4}.section-dark{background:#141419;padding:16px 5% 80px;position:relative}.section-dark h2{color:#ffffffb3;margin-left:0;margin-right:0}.section-dark .grid-container,.section-dark .grid-container--featured{margin-left:0;margin-right:0}.section-dark .project-link:hover{box-shadow:0 16px 48px #00000040}.section-dark .description p{color:#ffffff80}.section-dark .description h3{color:#ffffffe6}.section-dark .description a{color:#fff9}.section-dark .description a:hover{color:#fff}.section-dark .project-card__body h3{color:#ffffffe6}.section-dark .project-card__body p{color:#ffffff8c}.section-dark .project-card__links a{color:#fff9}.section-dark .project-card__links a:hover{color:#fff}.section-dark .badge.badge-pill.badge-secondary,.section-dark .tag{border-color:#ffffff1f;color:#ffffff59}.image-container{margin:0 auto;width:40%}@media (max-width: 1620px){.image-container{width:90%}}.image-container img{border:1px solid #e2e2e8;border-radius:12px;width:100%;height:auto}.text-container{margin:0 auto 80px;width:40%}@media (max-width: 1620px){.text-container{width:90%}}.subsection-title{margin:0 5%}.subsection-display{display:block;margin:0 auto 20px}.brands-container{background:#f8f7f5}.subsection-container{clear:both;padding:80px 0 100px;width:100%}.subsection-container:has(.social-nav){background:#141419}.profile-container{margin:0 auto 80px;width:40%}@media (max-width: 1620px){.profile-container{width:90%}}.profile-picture{width:25%;border-radius:50%;float:left;margin-right:25px}.project-img{width:100%;height:auto;border-radius:1.25rem}.social-nav{margin:70px auto;width:50%}.social-nav:after{clear:both;content:"";display:table}@media (max-width: 1620px){.social-nav{width:60%}}@media (max-width: 1279px){.social-nav{width:70%}}@media (max-width: 768px){.social-nav{width:90%}}.social-nav ul{list-style:none;margin:0;padding:0}.social-nav li{display:inline}.social-nav li a{color:#3d5a80;display:block;float:left;margin:0 auto;padding:0 0 28px;text-indent:-9999px;width:25%}.twitter{background:url(/images/social/twitter-icons.png) no-repeat top center}.twitter:hover{background-position:bottom center}.linkedin{background:url(/images/social/linkedin-icons.png) no-repeat top center}.linkedin:hover{background-position:bottom center}.facebook{background:url(/images/social/facebook-icons.png) no-repeat top center}.facebook:hover{background-position:bottom center}.codepen{background:url(/images/social/codepen-icons.png) no-repeat top center}.codepen:hover{background-position:bottom center}.github{background:url(/images/social/github-icons.png) no-repeat top center}.github:hover{background-position:bottom center}.parallax-container{background:url(/images/parallax-bg.jpg) #f0f0f3 center center no-repeat;background-attachment:fixed;background-size:cover;padding:200px 0}.clients{margin:40px auto;width:50%}.clients:after{clear:both;content:"";display:table}@media (max-width: 1620px){.clients{width:70%}}@media (max-width: 768px){.clients{width:90%}}.clients ul{list-style:none;margin:0;padding:0}.clients li{display:inline}.clients a{display:block;float:left;padding:20px 2%;text-align:center;width:33%}.clients a img{max-width:100%;width:50%;height:auto;opacity:1}@media (max-width: 768px){.clients a img{width:80%}}.project-description{margin:0 0 60px;max-width:none;width:100%}.project-description p{font-size:16px;font-size:1.6rem;color:#5c5c6e;line-height:1.75;margin-bottom:16px}.project-description a{font-weight:500}.header{display:flex;align-items:center;background:#f8f7f5e0;backdrop-filter:blur(16px);left:0;margin:0;opacity:1;padding:14px 5%;position:fixed;top:0;transition:left .3s ease,padding .3s ease,opacity .3s ease,background-color .3s ease;width:100%;z-index:999;border-bottom:1px solid rgba(226,226,232,.6)}.id-container{display:block;margin-left:12px}.id-container .tagline{font-size:11px;font-size:1.1rem;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:400;color:#8a8a9a;letter-spacing:.1em;text-transform:uppercase}@media (max-width: 768px){.id-container .tagline{display:none}}.logo{display:block;flex-shrink:0;line-height:0;width:72px}@media (max-width: 1279px){.logo{width:56px}}.logo img{max-width:100%;width:100%;height:auto}.main-nav{margin-left:auto;z-index:9999}.main-nav ul{list-style:none;margin:0;padding:0}.main-nav .open-menu{color:#2a2a32;display:none}@media (max-width: 1620px){.main-nav .open-menu{display:block}}.main-nav .close-menu{color:#2a2a32;display:none}.main-nav a,.main-nav button{font-size:13px;font-size:1.3rem;background:none;border:none;color:#5c5c6e;cursor:pointer;display:block;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:400;letter-spacing:.02em;margin:0;padding:10px 20px;text-decoration:none;transition:color .2s ease}.main-nav a.active,.main-nav button.active{color:#141419;font-weight:500}.main-nav a:hover,.main-nav button:hover{color:#141419}.main-nav .desktop-nav{display:flex;align-items:center}@media (max-width: 1620px){.main-nav .desktop-nav{display:none}}.main-nav .desktop-nav>li{position:relative}.main-nav .mobile-nav{display:none}@media (max-width: 1620px){.main-nav .mobile-nav{display:block}}.main-nav .mobile-nav a{font-size:22px;font-size:2.2rem}.main-nav .dropdown-toggle:after{display:none}.main-nav .dropdown:after{content:"";position:absolute;top:100%;left:0;width:100%;height:12px;display:none}.main-nav .dropdown:hover:after,.main-nav .dropdown:focus-within:after{display:block}.main-nav .dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:#fff;border:1px solid #e2e2e8;border-radius:12px;box-shadow:0 16px 48px #1414191a;padding:8px 0}.main-nav .dropdown-menu a{font-size:13px;font-size:1.3rem;color:#5c5c6e;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:400;padding:8px 20px;white-space:nowrap;transition:background .15s ease,color .15s ease}.main-nav .dropdown-menu a:hover{background:#f0f0f3;color:#141419}.main-nav .dropdown-menu a.active,.main-nav .dropdown-menu a:active{background:#3d5a8014;color:#3d5a80}.main-nav .dropdown:hover>.dropdown-menu,.main-nav .dropdown:focus-within>.dropdown-menu{display:block}.project-nav{background:#141419;box-shadow:inset 10px 0 15px -5px #0000004d;display:none;height:100%;left:100%;margin:0;overflow-y:scroll;padding:0 2%;position:fixed;top:0;transition:left .3s ease;width:40%}@media (max-width: 1620px){.project-nav{display:block}}.project-nav ul{list-style:none;margin:0;padding:0}.project-nav li{display:block;cursor:pointer}.project-nav p{font-size:10px;font-size:1rem;color:#8a8a9a;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:500;letter-spacing:.14em;padding:10px 0 10px 20px;margin:30px 0 0;text-transform:uppercase}.project-nav li a{font-size:14px;font-size:1.4rem;border-bottom:1px solid rgba(255,255,255,.05);border-top:none;color:#bfbfc8;display:block;float:none;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;font-weight:300;margin:0;padding:12px 10px 12px 40px;text-align:left;text-decoration:none;transition:color .2s ease,background .2s ease}.project-nav li a:link,.project-nav li a:visited{color:#bfbfc8}.project-nav li a.active{color:#fff}.project-nav li a:hover{background:#ffffff0d;color:#fff}.project-nav li a:last-child{border-bottom:1px solid rgba(255,255,255,.05)}.site-footer{font-size:12px;font-size:1.2rem;background:#141419;border-top:1px solid rgba(255,255,255,.06);clear:both;color:#8a8a9a;font-family:Space Grotesk,-apple-system,blinkmacsystemfont,Segoe UI,sans-serif;letter-spacing:.02em;margin:0 auto;padding:28px 5%}.site-footer:after{clear:both;content:"";display:table}.disclaimer{display:block;float:left;margin:0;text-align:left;width:50%}@media (max-width: 1279px){.disclaimer{text-align:center;width:100%}}.menu-open .page-wrap{left:0%}@media (max-width: 1620px){.menu-open .page-wrap{left:-45%}}@media (max-width: 768px){.menu-open .page-wrap{left:-60%}}.menu-open .main-nav{right:25%;transition:right .3s ease}@media (max-width: 1620px){.menu-open .main-nav{right:45%}}@media (max-width: 768px){.menu-open .main-nav{right:60%}}.menu-open .open-menu{display:none}.menu-open .close-menu{display:inline}.menu-open .project-nav{display:block;left:-20%;padding:0;transition:left .3s ease}@media (max-width: 1620px){.menu-open .project-nav{left:55%;width:63%}}@media (max-width: 768px){.menu-open .project-nav{left:40%;width:63%}}.menu-open .header{left:0%}@media (max-width: 1620px){.menu-open .header{left:-45%}}@media (max-width: 768px){.menu-open .header{left:-60%}}.lost{margin:0 0 160px;padding:0;width:100%}.lost h3{margin:0 5% 50px;padding:0;text-align:center}.lost a{display:block;margin:0 auto;padding:15px 0;text-decoration:none;width:20%}
