@import"https://fonts.googleapis.com/css2?family=Outfit:wght@100;900&family=Satisfy&display=swap&family=Bad+Script&display=swap";@layer reset{*,*:before,*:after{box-sizing:border-box}body{margin:unset}button,input,textarea,select{font:inherit}img,picture,svg,canvas{background-repeat:no-repeat;background-size:cover;block-size:auto;display:block;font-style:italic;height:auto;max-inline-size:100%;max-width:100%;shape-margin:1rem;vertical-align:middle}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit;margin:0;border:0;padding:0;display:inline-block;vertical-align:middle;white-space:normal;background:none;line-height:1}input:focus,textarea:focus{outline:0}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@property --hue{inherits: true; initial-value: 0; syntax: "<number>";}@keyframes color-change{0%{--hue: 0}to{--hue: 360}}:root{--hue: 0;--accent-1: hsl(var(--hue), 70%, 50%);--accent-2: hsl(calc(var(--hue) + 80), 70%, 50%);--background: hsl(220, 50%, 8%);--breakpoint-med: 640px;--button-height: 48px;--color: hsl(180, 50%, 92%);--container-padding: 1rem;--hr-height: 2rem;--gradient: linear-gradient(to bottom right, var(--accent-1) 0vh, var(--accent-2) 100vh);--gradient-2: linear-gradient(to top right, var(--accent-2) 0vh, var(--accent-1) 100vh);--gradient-transparent: linear-gradient( to bottom right, hsla(var(--hue), 70%, 50%, .5) 0vh, hsla(calc(var(--hue) + 80), 70%, 50%, .5) 100vh );--menu-height: 48px;--overlay: hsla(0, 0%, 0%, .25);color-scheme:dark}html{animation:color-change 120s infinite}body{background-color:var(--background);color:var(--color);box-sizing:border-box;font-family:Outfit;font-size:calc(15px + .390625vw);font-weight:400;font-variation-settings:"wght" 400;letter-spacing:-.002em;max-width:100%;overflow-x:hidden;transition:background-color .5s ease-in-out,color .2s ease-in-out;width:100vw}html,body{min-height:100dvh}html.dark,html.dark body{font-weight:300;font-variation-settings:"wght" 300;letter-spacing:0em}#app{display:grid;grid-template-columns:100%;grid-template-rows:auto 1fr auto;min-height:100%;width:100%}*{box-sizing:border-box!important;font-family:Outfit}h1,h2,h3,h4,h5,h6{font-weight:800;font-variation-settings:"wght" 800}p{margin-bottom:1.2rem}strong{font-weight:800;font-variation-settings:"wght" 800}a{color:var(--color)}.color-alt{color:var(--background)}.accent{color:var(--accent-1)}.accent-2{color:var(--accent-2)}.bg-accent{background-color:var(--accent-1)}.bg-accent-2{background-color:#ffd60a}.font-heading{font-weight:900}.font-accent{font-family:satisfy;font-weight:400}.sticky{align-items:center;align-self:start;display:flex;flex-direction:column;position:sticky;top:0}.text-center{text-align:center}.section{display:flex;flex-direction:column;justify-content:center;position:relative}@media screen and (min-width: 640px){:root{--container-padding: 4rem}.section{column-gap:1rem;display:grid;grid-template-columns:repeat(2,calc(50% - .5rem));grid-template-rows:1fr}}.card{width:100%}.portfolio-header{align-items:center;display:flex;justify-content:center;max-height:120px;padding:0 70px 0 40px;place-items:center;width:100%}.portfolio-header h1{background:var(--gradient);background-attachment:fixed;-webkit-background-clip:text;background-clip:text;color:transparent}.portfolio-header .icon{color:var(--color);height:80px;margin-left:10px;width:80px}.text-bg{background:var(--gradient);background-attachment:fixed;clip-path:inset(20% 2% 20% 2%);color:var(--background);filter:drop-shadow(0px 0px 1px var(--background));left:-1%;letter-spacing:-.2rem;position:relative;text-transform:uppercase;z-index:2}.button{align-items:center;animation-fill-mode:initial;box-shadow:2px 2px 4px 2px #00000040;border-radius:999em;color:var(--background);cursor:pointer;display:flex;font-weight:300;font-variation-settings:"wght" 300;height:var(--button-height);justify-content:center;margin-bottom:1rem;max-width:100%;opacity:1;overflow:visible;padding-right:40px;position:relative;text-align:center;text-decoration:none;text-transform:uppercase;transition:font-variation-settings .3s ease-out,letter-spacing .3s ease-out;width:300px;z-index:2}.button:disabled{opacity:.25}.button:before{background:var(--gradient);background-attachment:fixed;border-radius:999em;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.button:not(:disabled):hover{box-shadow:4px 4px 8px 2px #00000080;font-weight:900;font-variation-settings:"wght" 900;letter-spacing:-.45px;transition:box-shadow .3s ease-in,font-variation-settings .3s .2s ease-out,letter-spacing .3s .2s ease-out}@property --rotate{syntax: "<angle>"; initial-value: 132deg; inherits: false;}@keyframes spin{0%{--rotate: 0deg}to{--rotate: 360deg}}.button:not(:disabled):hover:before{background:linear-gradient(var(--rotate),var(--accent-1) 0%,var(--accent-2) 100%)}.button:not(:disabled):hover:after{--border: 4px;background:linear-gradient(var(--rotate),var(--accent-2) 0%,var(--accent-1) 100%);animation:spin 3s linear infinite;border-radius:999em;content:"";height:calc(100% + var(--border));left:calc(-.5 * var(--border));position:absolute;top:calc(-.5 * var(--border));width:calc(100% + var(--border));z-index:-2}.button .icon{border-radius:50%;height:60px;left:0;width:60px}.button .text{flex-grow:1}.header{color:var(--background)}.category{margin-left:1rem;text-transform:uppercase}.lead-in{text-align:center}.line-after:after{background-image:linear-gradient(45deg,transparent 48%,var(--accent-2) 50%,transparent 52%);background-size:10px 10px;bottom:calc(-.5 * var(--hr-height));display:block;content:"";height:var(--hr-height);margin:calc(.5 * var(--hr-height)) 0;transform:translate(calc(-.5 * var(--container-padding)));width:100vw}svg path.stroke{color:inherit;fill:none;stroke:currentColor}svg path.fill{color:inherit;fill:currentColor;stroke:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in-enter-active,.slide-right-enter-active,.slide-left-enter-active{animation:fade 1s ease-in-out forwards}.fade-in-leave-active,.slide-right-leave-active,.slide-left-leave-active{animation:fade .5s ease-in-out reverse}@media (prefers-reduced-motion: no-preference){@keyframes fade{0%{filter:blur(8px);opacity:0}to{filter:blur(0px);opacity:1;transform:translate(0)}}.fade-in-enter-active{animation:fade-in .4s ease-in-out forwards}.fade-in-leave-active{animation:fade-in .3s ease-in-out reverse}@keyframes slide-left{0%{opacity:0;transform:translate(100vw)}to{opacity:1}}@keyframes slide-right{0%{opacity:0;transform:translate(-100vw)}to{opacity:1;transform:translate(0)}}.slide-left-enter-active{animation:slide-left .4s forwards;animation-delay:.2s;opacity:0}.slide-left-leave-active{animation:slide-right .4s reverse;position:absolute}.slide-right-enter-active{animation:slide-right .4s forwards;animation-delay:.2s;opacity:0}.slide-right-leave-active{animation:slide-left .4s reverse;position:absolute}.text-bg.never-visible:before{transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease-in-out .25s}.text-bg.is-visible-once:before{transform:scaleY(1)}.card-content.never-visible{opacity:0}.card-content.is-visible-once{animation:fade-in .4s ease-in-out .3s forwards}.line-after.not-visibile:after{clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:clip-path 1s ease-in-out 1s}.line-after.not-visibile:nth-child(2n):after{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}.line-after.is-visible:after{clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);transition:clip-path 1s ease-in-out 1s}}.menu-logo{clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);color:var(--background);font-size:calc(28px + .390625vw);line-height:.8;max-height:100%;opacity:1;padding:.5rem;text-align:center;transition:clip-path .3s ease-in,text-shadow .3s ease-in,color .8s ease-in-out;text-shadow:0px 0px 0px hsla(0,0%,100%,.25);word-spacing:-.2rem}.menu-logo:hover{color:var(--background);text-shadow:1px 1px 0px hsla(0,0%,100%,.35)}@media (prefers-reduced-motion: no-preference){@keyframes move-background{to{background-position:-800% center}}.menu-logo{background:var(--background);background-clip:text;text-shadow:none;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.menu-logo:hover{animation:move-background 30s linear infinite;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(90deg,var(--background) 0%,var(--accent-1) 50%,var(--background) 70%,var(--accent-2) 90%,var(--background) 100%);background-size:800%;text-shadow:none}}:root{--menu-width: 300px}.menu{background:var(--gradient-transparent);background-attachment:fixed;-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);box-shadow:-2px 5px 5px #00000040;max-width:100%;min-height:100vh;min-height:100svh;overflow-x:clip;padding-right:1rem;padding-top:var(--button-height);position:fixed;right:0;transform:translate(100%);transition:transform .3s ease-in;top:0;width:var(--menu-width);z-index:8}.menu.is-open{transform:translate(0);z-index:222}.menu-items{display:flex;flex-direction:column;list-style-type:none;padding:0}.menu-items li{align-items:center;border:2px solid transparent;border-left:none;border-radius:0 4rem 4rem 0;cursor:pointer;display:flex;margin:.5rem 0;position:relative;text-align:center;transition:border .3s ease-out}.menu-items li:before{background:var(--gradient-2);border-radius:0 4rem 4rem 0;content:"";display:block;filter:blur(10px);height:100%;left:0;opacity:0;padding:.5rem;position:absolute;transition:transform .2s ease-out,opacity .4s ease-out,filter .6s ease-out;transform:scaleX(0);transform-origin:left;top:0;width:100%;z-index:-1}.menu-items li:hover{border-left:none;transition:border .6s ease-in-out}.menu-items li:hover:before{filter:blur(0);opacity:1;transform:scale(1)}.menu-items li a{border-radius:0 4rem 4rem 0;font-weight:300;font-variation-settings:"wght" 300;padding:.5rem;position:relative;text-decoration:none;text-transform:uppercase;transition:font-variation-settings .3s ease-out,color .3s ease-out;width:100%}.menu-items li:hover a{color:var(--background);font-weight:900;font-variation-settings:"wght" 900;transition:font-variation-settings .3s .2s ease-out}.menu-items li.active a{background:var(--background);border:2px solid var(--background);color:var(--color);font-weight:900;font-variation-settings:"wght" 900}.menu-items li.active:before{display:none}.menu-items li.active a:after{background:linear-gradient(90deg,var(--overlay) 0%,transparent 30%);content:"";display:block;left:0;height:100%;position:absolute;top:0;width:100%}.overlay{background:var(--overlay);display:block;height:0;right:0;opacity:0;position:fixed;transform:translate(0);transition:transform .3s ease-in,opacity .25s ease-in-out;top:0;width:0;z-index:-5}.overlay.is-open{height:100vh;height:100dvh;opacity:1;transform:translate(calc(-1 * var(--menu-width)));width:calc(200% - var(--menu-width));z-index:111}.inline-nav{display:none}@media screen and (min-width: 768px){.inline-nav{display:flex;align-items:center;justify-content:flex-end}.inline-menu-items{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.inline-menu-items li a{color:var(--background);font-weight:300;font-variation-settings:"wght" 300;position:relative;text-decoration:none;text-transform:uppercase;font-size:.85rem}.inline-menu-items li a:after{background:var(--gradient-2);bottom:-2px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s ease-out;width:100%}.inline-menu-items li a:hover:after,.inline-menu-items li.active a:after{transform:scaleX(1)}.menu,.overlay{display:none}}.menu-button-container{align-items:center;cursor:pointer;display:flex;height:40px;position:relative;transition:.25s ease-in-out;width:40px;z-index:333}.menu-icon,.menu-icon:before,.menu-icon:after{background:var(--background);border-radius:4px;content:"";display:block;height:4px;left:0;opacity:1;position:absolute;transform:rotate(0);transform-origin:right;transition:.25s ease-in-out;width:100%}.menu-icon:before{top:-10px}.menu-icon:after{top:10px}.is-open .menu-icon{background:transparent}.is-open .menu-icon:before{transform:rotate(-45deg) translateY(-6px)}.is-open .menu-icon:after{transform:rotate(45deg) translateY(6px)}@media screen and (min-width: 768px){.menu-button-container{display:none}}#header[data-v-ce8b9977]{background:var(--gradient);background-attachment:fixed;box-shadow:0 2px 5px 5px #00000040;column-gap:5px;display:grid;grid-template-columns:var(--menu-height) auto var(--menu-height);grid-template-rows:var(--menu-height);height:var(--menu-height);padding:0 10px;place-items:center;position:sticky;top:0;width:100%;z-index:111}#footer[data-v-ce8b9977]{align-items:center;background:var(--gradient);background-attachment:fixed;box-shadow:0 -2px 5px 5px #00000040;display:flex;gap:.5rem;justify-content:center;margin-top:60px;padding:0 50px;width:100vw;z-index:333}#container[data-v-ce8b9977]{margin-inline:auto;padding-top:var(--container-padding);position:relative;width:min(1200px,100% - var(--container-padding))}.back-button-container[data-v-ce8b9977]{align-items:center;cursor:pointer;display:flex;height:32px;opacity:1;position:relative;transition:opacity .25s ease-in-out;width:32px}.back-button[data-v-ce8b9977],.back-button[data-v-ce8b9977]:before,.back-button[data-v-ce8b9977]:after{background:var(--background);border-radius:4px;content:"";display:block;height:4px;left:0;opacity:1;position:absolute;transition:transform .25s ease-in-out;width:100%}.back-button[data-v-ce8b9977]:before{left:-1px;transform:translateY(-5px) rotate(-45deg);width:50%}.back-button[data-v-ce8b9977]:after{left:-1px;transform:translateY(5px) rotate(45deg);width:50%}.is-home.back-button-container[data-v-ce8b9977]{opacity:0}.is-home .back-button[data-v-ce8b9977]{transform:translate(-20px)}.is-home .back-button[data-v-ce8b9977]:before{transform:translateY(-24px) rotate(-45deg)}.is-home .back-button[data-v-ce8b9977]:after{transform:translateY(24px) rotate(45deg)}.home-link[data-v-ce8b9977]{cursor:pointer}#footer[data-v-ce8b9977] h1,.copyright[data-v-ce8b9977]{margin:0}@media screen and (min-width: 768px){#header[data-v-ce8b9977]{grid-template-columns:var(--menu-height) auto 1fr;padding-right:1rem}#header[data-v-ce8b9977] .inline-nav{justify-self:end}}
