@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Karla:ital,wght@0,200..800;1,200..800&display=swap";@layer reset{*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5;margin:0}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}}@layer base{:root{--stone-clr-900: oklch(14.7% .004 49.25);--stone-clr-800: oklch(21.6% .006 56.043);--stone-clr-500: oklch(55.3% .013 58.071);--stone-clr-300: oklch(86.9% .005 56.366);--stone-clr-200: oklch(92.3% .003 48.717);--stone-clr-100: oklch(97% .001 106.424);--green-clr-600: oklch(62.7% .194 149.214);--green-clr-400: oklch(79.2% .209 151.711);--blue-clr-500: oklch(62.3% .214 259.815);--blue-clr-400: oklch(70.7% .165 254.624);--zinc-clr-900: hsl(240, 6%, 10%);--zinc-clr-800: hsl(240, 4%, 16%);--zinc-clr-700: hsl(240, 5%, 26%);--zinc-clr-600: hsl(240, 5%, 34%);--zinc-clr-500: hsl(240, 4%, 46%);--zinc-clr-400: hsl(240, 5%, 65%);--zinc-clr-300: hsl(240, 5%, 84%);--zinc-clr-200: hsl(240, 6%, 90%);--zinc-clr-100: hsl(240, 5%, 96%);--ff-base: "Inter", sans-serif;--fs-xs: .75rem;--fs-sm: .75rem;--fs-base: .875rem;--fs-med: 1rem;--fs-lg: 1.5rem;--fs-xl: 1.5rem;--font-size-section-header: var(--fs-med);--font-size-primary-header: var(--fs-xl);--font-size-base: var(--fs-base);--font-size-subtitle: var(--fs-sm);--text-primary: var(--zinc-clr-400);--text-subdued: var(--zinc-clr-500);--header-primary: var(--zinc-clr-200);--bg-primary: var(--zinc-clr-900);--bg-light: var(--zinc-clr-800)}@media (width > 620px){:root{--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-med: 1.125rem;--fs-lg: 1.5rem;--fs-xl: 2rem}}html{scroll-behavior:smooth}body{font-size:var(--font-size-base);color:var(--text-primary);font-family:Inter,Arial,sans-serif;background-color:var(--bg-primary)}}@layer layout{#app{position:relative;min-height:100dvh;background-color:var(--bg-primary)}.wrapper{--wrapper-max-width: 1200px;--wrapper-bg-clr: var(var(--bg-primary));--wrapper-inline-padding: 2rem;max-width:var(--wrapper-max-width);margin-inline:auto;padding-inline:var(--wrapper-inline-padding)}@media (width > 620px){.wrapper{--wrapper-inline-padding: 4rem}}}@layer components{.primary-nav{display:flex;position:sticky;z-index:100;top:0;background-color:#18181bcc;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);justify-content:center;padding:1.5rem;font-size:var(--font-size-subtitle)}.primary-nav__link-list{display:flex;gap:1rem;margin:0;padding:0}.primary-nav__link{text-decoration:none;color:var(--text-subdued)}.primary-nav__link.active{color:var(--text-primary)}.primary-header{margin-bottom:1.5rem}.primary-header__title{font-size:var(--font-size-primary-header);color:var(--header-primary);font-weight:600;margin:0;padding:0}.primary-header__subtitle{font-size:var(--font-size-subtitle);color:var(--text-primary);margin:0;margin-top:.25rem}.open-to-work{--indicator-size: 1ch;display:flex;font-size:var(--font-size-subtitle);color:var(--green-clr-600);align-items:center;gap:.5rem;isolation:isolate}.open-to-work__indicator{position:relative;background:var(--green-clr-600);border-radius:100%;aspect-ratio:1;height:var(--indicator-size);animation:indicator-core 2s linear infinite}.open-to-work__indicator:after{position:absolute;z-index:-1;border-radius:100%;opacity:.25;filter:blur(2px);content:"";aspect-ratio:1;height:var(--indicator-size);background:var(--green-clr-400);animation:indicator-wave 2s linear infinite}@keyframes indicator-core{0%{transform:scale(.9)}40%,60%{transform:scale(1.1)}to{transform:scale(.9)}}@keyframes indicator-wave{0%{transform:scale(.9);opacity:0}40%{transform:scale(1);opacity:1}60%{transform:scale(1.25);opacity:.5}to{transform:scale(.9);opacity:0}}.primary-footer{display:flex;color:var(--text-subdued);font-size:var(--font-size-subtitle);gap:.5rem;padding:2rem;justify-content:center;align-items:center}.primary-footer__icon{aspect-ratio:1;width:calc(var(--font-size-subtitle) + .25rem)}.bottom-blur{position:fixed;bottom:0;left:0;right:0;height:100px;pointer-events:none;background:#27272acc;-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);opacity:1;transition:opacity ease-out .1s;-webkit-mask-image:linear-gradient(to top,hsl(240 3.7% 15.9%),transparent);mask-image:linear-gradient(to top,hsl(240 3.7% 15.9%),transparent)}.project-card-container{display:grid;gap:1rem}@media (width > 800px){.project-card-container{grid-template-columns:1fr 1fr;gap:1.5rem}}.project-card{--content-padding: 1.5rem;--border-radius: .5rem;position:relative;background-color:var(--zinc-clr-800);border-radius:var(--border-radius)}@media (width > 620px){.project-card{--content-padding: 2rem}}.project-card__graphic{--graphic-margin: .5rem;--graphic-aspect-ratio: 1.75;position:relative;overflow:clip;border-radius:calc(var(--border-radius) - 2px);width:calc(100% - 2 * var(--graphic-margin));margin-block:var(--graphic-margin) 0;margin-inline:var(--graphic-margin);aspect-ratio:var(--graphic-aspect-ratio);background:var(--bg-primary);transition:clip-path .2s ease-out;isolation:isolate;clip-path:inset(0 0 0 0 round calc(var(--border-radius) - 2px))}.project-card__image{--img-offset: 5%;z-index:100;position:absolute;max-width:115%;display:block;top:calc(var(--graphic-aspect-ratio) * var(--img-offset));left:var(--img-offset);border-radius:calc(var(--border-radius) - 2px);transition:top .2s ease-out}.project-card__gradient{--primary-blob: blue;--secondary-blob: red;max-width:100%;aspect-ratio:var(--graphic-aspect-ratio);opacity:0;transition:opacity .2s ease-out}.project-card__gradient .blob-one{transform-box:fill-box;transform-origin:center;animation:blob-float linear 10s infinite alternate;animation-delay:2s}.project-card__gradient .blob-two{transform-box:fill-box;transform-origin:center;animation:blob-float linear 10s infinite alternate}.gradient-blobs{width:100%;height:100%}.project-card__content{position:relative;border-radius:var(--border-radius);background:var(--card-bg);padding:var(--content-padding);transition-property:transform,opacity;transform-style:ease-out;transition-duration:.2s}.project-card__title{font-size:var(--font-size-section-header);color:var(--header-primary);font-weight:400;margin-top:0}.project-card__cta{position:absolute;opacity:0;line-height:0;bottom:0;left:var(--content-padding);transition-property:transform,opacity;transform-style:ease-out;transition-duration:.2s;will-change:transform,opacity}.project-card__link{text-decoration:none;color:var(--blue-clr-400);transition-property:visibility,opacity,color;transition-duration:.2s;transition-timing-function:ease-out}.project-card__link .link-arrow{aspect-ratio:1;height:.75rem;margin-left:.5ch;transition-property:opacity,color;transition-duration:.2s;transition-timing-function:ease-out}.project-card__link .link-arrow .arrow-line{opacity:0;stroke:currentColor;stroke-width:2px}.project-card__link .link-arrow .arrow-head{transition:transform .2s ease-out;stroke-width:2px;stroke:currentColor}.project-card__link:hover{color:var(--blue-clr-500)}.project-card__link:hover .arrow-line{opacity:1}.project-card__link:hover .arrow-head{transform:translate(3px)}.project_card__private{pointer-events:none;cursor:default;color:var(--text-subdued)}@keyframes blob-float{0%{transform:translate(-50%,30%) rotate(20deg) scale(1)}25%{transform:translate(-50%,-20%) rotate(60deg) scale(.95)}50%{transform:translate(-30%,-25%) rotate(100deg) scale(1)}75%{transform:translate(50%,-30%) rotate(50deg) scale(.95)}to{transform:translate(100%,-30%) rotate(20deg) scale(1)}}.project-card:hover .project-card__content{transform:translateY(calc(-1 * var(--content-padding)))}.project-card:hover .project-card__cta{transform:translateY(calc(-1 * var(--content-padding)));opacity:1}.project-card:hover .project-card__image{top:calc(var(--graphic-aspect-ratio) * var(--img-offset) / 2)}.project-card:hover .project-card__graphic{clip-path:inset(0 0 var(--content-padding) 0 round calc(var(--border-radius) - 2px))}.project-card:hover .project-card__gradient{opacity:1}@media (hover: none){.project-card .project-card__content{transform:translateY(calc(-1 * var(--content-padding)))}.project-card .project-card__cta{transform:translateY(calc(-1 * var(--content-padding)));opacity:1}.project-card .project-card__image{top:calc(var(--graphic-aspect-ratio) * var(--img-offset) / 2)}.project-card .project-card__graphic{clip-path:inset(0 0 var(--content-padding) 0 round calc(var(--border-radius) - 2px))}.project-card .project-card__gradient{opacity:1}}.work-card-container{display:grid;gap:1rem}@media (width > 620px){.work-card-container{gap:1.5rem}}.work-card{--card-spacing: 1rem;--border-radius: .5rem;--card-padding: 1.5rem;background-color:var(--zinc-clr-800);border-radius:var(--border-radius);padding:var(--card-padding)}@media (width > 620px){.work-card{--card-padding: 2rem}}.work-card__title{font-size:var(--font-size-section-header);color:var(--header-primary);font-weight:400;margin:0;margin-bottom:calc(var(--card-spacing) / 2)}.work-card__list{padding-left:var(--card-padding)}.work-card__list li:not(:last-child){margin-bottom:.5rem}.work-card__sub-header{display:flex;flex-direction:column;justify-content:space-between}@media (width > 500px){.work-card__sub-header{flex-direction:row}}.work-card__subtitle{color:var(--text-subdued);font-size:var(--font-size-subtitle)}}@layer utilities{.space-between{display:flex;align-items:center;justify-content:space-between}.section-header{--section-header-margin-bottom: 1rem;margin-bottom:var(--section-header-margin-bottom);color:var(--header-primary);font-weight:600;font-size:var(--font-size-section-header)}}section{position:relative;scroll-margin-top:65px;margin-bottom:2rem}.email-form{--padding: 1.5rem;--border-radius: 8px;padding:var(--padding);background-color:var(--bg-light);border-radius:var(--border-radius);display:grid;justify-items:stretch;gap:1rem}@media (width > 620px){.email-form{--padding: 2rem}}.email-form__input{display:flex;flex-direction:column;gap:.5rem}label{color:var(--text-subdued);font-size:var(--font-size-subtitle)}input,textarea{color:inherit;border-radius:calc(var(--border-radius) - 2px);border:none;padding:.75rem;background:var(--bg-primary);resize:none;width:100%}.email-submit{position:relative;display:flex;justify-content:center;align-items:center;border-radius:var(--border-radius);border:none;cursor:pointer;margin:0 auto;margin-top:1rem;width:75%;padding:.75rem .25rem;overflow:clip;color:var(--header-primary);background:linear-gradient(180deg,#1994ff,#157cff);box-shadow:0 0 1px 1px #ffffff14 inset,0 1px 1.5px #00000052,0 0 0 .5px #1a94ff}.spinner-wrapper{height:var(--spinner-size, 20px);width:var(--spinner-size, 20px)}.spinner{position:relative;top:50%;left:50%;height:var(--spinner-size, 20px);width:var(--spinner-size, 20px)}.submit-button-content{display:flex;width:100%;align-items:center;justify-content:center;text-shadow:0px 1px 1.5px rgba(0,0,0,.16)}.bar{animation:spin 1.2s linear infinite;background:var(--spinner-color);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes spin{0%{opacity:1}to{opacity:.15}}
