#root{margin:0 auto;width:100%;max-width:1280px;text-align:center}h1{font-size:6.4rem;line-height:1.1;font-family:Eczar,Georgia,Times New Roman,Times,serif}h2{margin-bottom:2rem;padding:0;width:100%;overflow:hidden;color:rgb(var(--light));font-size:3.6rem;font-family:Eczar,Georgia,Times New Roman,Times,serif;letter-spacing:.1rem;text-transform:lowercase}h2:before,h2:after{display:inline-block;vertical-align:middle;border-top:1px solid rgb(var(--light));width:100%;content:""}h2:before{margin-right:1rem;margin-left:-100%}h2:after{margin-right:-100%;margin-left:1rem}a{color:rgb(var(--accent));text-decoration:underline}a:hover,a:active{transition:color .3s;color:#fff;text-decoration:underline}p{margin-bottom:1.6rem;max-width:80rem;text-align:left}p:last-child{margin-bottom:0}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px #fff solid;outline-offset:.25rem;border-radius:.25rem}.highlight{color:rgb(var(--accent))}.hidden,.tablet-hidden{display:none}.flex-row{display:flex;flex-direction:column;align-items:center;gap:3.2rem}.flex-1-3rd{flex:1 1 33.33%;width:100%;height:100%}.flex-half{flex:1 1 50%;width:100%;height:100%}.flex-2-3rds{flex:1 1 66.66%;width:100%;height:100%}form{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;text-align:left}label{display:flex;width:100%}input,textarea{border:1px solid rgb(var(--light));border-radius:.5rem;background:transparent;padding:.5rem 1rem;color:#fff}input:focus-visible,input:active,textarea:focus-visible,textarea:active{outline:2px rgb(var(--accent)) solid}input{display:inline;flex-grow:1;flex-shrink:1;margin-left:1rem;min-width:0}textarea{display:block;margin-top:.5rem}form button{align-self:flex-end;transition:background-color .3s,color .3s;cursor:pointer;border-radius:.5rem;background:rgb(var(--accent));padding:.5rem 2rem;min-width:44px;min-height:44px;color:rgb(var(--dark));font-weight:700;letter-spacing:.25rem;text-transform:uppercase}form button:hover,form button:active{background:#81d4cc}form button:focus,form button:focus-visible{outline:2px rgb(var(--light)) solid!important;outline-offset:.25rem!important}.form-row{align-items:center}.form-textarea{flex-direction:column}main{display:flex;flex-direction:column;gap:2rem;margin:4rem 1.6rem}#about,#work,#contact{scroll-margin-top:6.8rem}#about div{width:100%}#proj-grid{display:flex;flex-direction:column;align-items:center;grid-gap:2rem;margin:0 auto;max-width:480px}#contact-lockup{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:4rem;margin:0 auto;max-width:480px}@media screen and (min-width: 821px){h2{margin-bottom:2rem;text-align:left}h2:before{display:none}main{gap:6rem;margin:6rem 2rem}.flex-row{flex-direction:row}#about h2{margin-bottom:2rem}#contact-lockup{flex-direction:row;gap:4rem;margin:0;max-width:none}.tablet-hidden{display:block}}@media screen and (min-width: 440px){#proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}}@media screen and (min-width: 797px){#proj-grid{max-width:none}}@media (pointer: fine){form button{min-width:auto;min-height:auto}}header{position:sticky;z-index:2;border-spacing:5px;background-color:rgb(var(--dark));width:100%}.sticky{position:0;top:0}#header-border{margin:0 1.5rem;border-bottom:1px solid rgb(var(--light));padding:1.2rem 0}#header-container{display:flex;flex-grow:1;flex-direction:row;justify-content:space-between;align-items:center}#site-logo img{display:block;max-height:48px}nav{display:flex;flex-direction:column;align-items:end;text-align:right}#hamburger{cursor:pointer}#hamburger svg{width:44px;height:44px}.mobile-hidden-flex{display:none}.desktop-hidden-in{display:inline}.desktop-hidden-flex{display:flex;margin-right:1rem}@media screen and (min-width: 441px){#header-container{flex-direction:column;gap:1rem}.mobile-hidden-flex{display:flex}.desktop-hidden-in,.desktop-hidden-flex{display:none}}@media screen and (min-width: 821px){#header-border{margin:0 1.9rem;border-bottom:1px solid rgb(var(--light));padding:1.2rem 0}#header-container{flex-direction:row;gap:0}}nav ul{display:flex;flex-direction:column;align-items:end;font-size:2rem;text-transform:uppercase}nav ul li a{display:block;position:relative;transition:color .3s;min-width:44px;min-height:44px;color:#fff;line-height:1;letter-spacing:.25rem;text-decoration:none}nav ul li a:after{position:absolute;bottom:0;left:0;opacity:0;transition:opacity .3s,transform .3s;background-color:rgb(var(--accent));width:100%;height:.05em;content:""}nav ul li a:hover,nav ul li a:active,nav ul li a:focus-visible{transition:color .3s;color:rgb(var(--accent));text-decoration:none}nav ul li a:hover:after,nav ul li a:active:after,nav ul li a:focus-visible:after{transform:translate3d(0,.2em,0);opacity:1}@media screen and (min-width: 441px){nav ul{flex-direction:row;gap:4rem}nav ul li a{min-width:auto;min-height:auto}}@media (pointer: fine){nav ul{font-size:1.6rem}}#cb-svg{flex-grow:1;max-height:24rem}#cb-glow-med,#cb-glow-light{transform-origin:center center;animation:4s linear infinite glow}@keyframes glow{50%{transform:scale(1)}0%,to{transform:scale(.925)}}#cb-content{animation:2s linear infinite float,4s linear infinite fade}@keyframes float{50%{transform:translateY(1em)}0%,to{transform:translateY(-1em)}}@keyframes fade{50%{opacity:75%}0%,to{opacity:50%}}@media screen and (min-width: 821px){#cb-svg{max-height:none}}.proj{position:relative;border-radius:.5em;width:100%;height:100%;overflow:hidden}.proj img{display:block;z-index:auto}.proj-overlay{position:absolute;top:0;left:0;opacity:1;z-index:1;width:100%;height:100%}.proj-info{position:absolute;bottom:0;left:0;background:rgb(var(--light));padding:.5rem 0;width:100%;line-height:1.25}.proj-name{display:flex;justify-content:center;align-items:center;gap:.5rem}.proj-name a{display:flex;justify-content:center;align-items:center;font-weight:600;font-size:2.4rem;letter-spacing:.25rem;text-decoration:none;text-transform:uppercase}.proj-langs{font-size:1.6rem}@media (hover: hover){.proj-overlay .proj-info{transform:translateY(100%);opacity:0;transition:transform .3s ease-in-out,opacity .3s ease-in-out}.proj-overlay:hover .proj-info{transform:none;opacity:1;transition:transform .3s ease-in-out,opacity .3s ease-in-out}.proj-overlay .proj-info:focus-within{transform:none;opacity:1;transition:transform .3s ease-in-out,opacity .3s ease-in-out}}#contact-form{margin:0 auto;padding:0;width:100%;max-width:480px}#send-bar{display:flex;justify-content:space-between;align-items:center;width:100%}#send-bar p{margin:0;color:rgb(var(--accent));font-style:italic;font-size:1.6rem}#dots{display:inline-block;vertical-align:bottom;-webkit-animation:ellipsis steps(4,end) .9s infinite;animation:ellipsis steps(4,end) .9s infinite;width:0rem;overflow:hidden}@keyframes ellipsis{to{width:1.2rem}}@-webkit-keyframes ellipsis{to{width:1.2rem}}@media screen and (min-width: 821px){#contact-form{padding:0 2rem}}#env-svg{height:100%;width:100%;max-height:16rem}@media screen and (min-width: 821px){#env-svg{padding:0 4rem;max-height:none}}@media screen and (min-width: 1025px){#env-svg{padding:0 6rem}}footer{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0 2rem;border-top:1px solid rgb(var(--light));padding:2.4rem 0;font-size:1.6rem}footer p{margin:0;text-align:center}footer ul{display:flex;gap:1rem;margin-top:1rem}footer ul li a{display:flex;justify-content:center;align-items:center;transition:color .3s;min-width:44px;min-height:44px;color:#fff;font-size:3.6rem;line-height:44px;text-decoration:none}footer ul a:hover,footer ul a:active,footer ul a:focus-visible{transition:color .3s;color:rgb(var(--accent));text-decoration:none}@media screen and (min-width: 780px){footer{flex-direction:row;justify-content:space-between}footer ul{margin-top:0}}@media (pointer: fine){footer ul li a{min-width:auto;min-height:auto;font-size:2.4rem;line-height:normal}}*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,*:before,*:after{box-sizing:border-box}a,button{cursor:revert}ol,ul,menu{list-style:none}img{max-inline-size:100%;max-block-size:100%}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert}:where(pre){all:revert}::placeholder{color:unset}::marker{content:initial}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;-webkit-line-break:after-white-space;-webkit-user-select:auto;overflow-wrap:break-word}:where([draggable=true]){-webkit-user-drag:element}:where(dialog:modal){all:revert}@font-face{font-style:normal;font-weight:400;src:url(./montserrat-v26-latin-regular-BfmCfwfZ.woff2) format("woff2"),url(./montserrat-v26-latin-regular-CCU4Z738.ttf) format("truetype");font-family:Montserrat;font-display:swap}@font-face{font-style:italic;font-weight:400;src:url(./montserrat-v26-latin-italic-DK-gMZXQ.woff2) format("woff2"),url(./montserrat-v26-latin-italic-Cqs5q8Fu.ttf) format("truetype");font-family:Montserrat;font-display:swap}@font-face{font-style:normal;font-weight:700;src:url(./montserrat-v26-latin-700-Dkxlx_w4.woff2) format("woff2"),url(./montserrat-v26-latin-700-yJrsX-tA.ttf) format("truetype");font-family:Montserrat;font-display:swap}@font-face{font-style:normal;font-weight:400;src:url(./eczar-v22-latin-regular-DrjviPLz.woff2) format("woff2"),url(./eczar-v22-latin-regular-BGpXVaM-.ttf) format("truetype");font-family:Eczar;font-display:swap}:root{--dark: 24, 14, 37;--light: 141, 107, 204;--accent: 175, 243, 236;background-color:rgb(var(--dark));color:#fff;color-scheme:light dark;font-weight:400;font-size:62.5%;line-height:1.5;font-family:Montserrat,Verdana,Geneva,Tahoma,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}button{color:#fff;font-weight:400;font-size:100%;line-height:1.5;font-family:Montserrat,Verdana,Geneva,Tahoma,sans-serif}html,body{height:100vh;height:100dvh}body{font-size:1.8rem}
