html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}html{box-sizing:border-box}*,:before,:after{box-sizing:inherit}p,li,a{font-family:var(--body-font), monospace}::selection{color:#fff;background:#13b9e0}.space{height:1px}.hide{position:absolute;top:-9999px;left:-9999px}.hidden{display:none}.clear{clear:both}@media only screen and (min-width:64.063em){.tablet-clear{clear:both}}@media only screen and (min-width:40.063em) and (max-width:64em){.mobiletotablet-clear{clear:both}}.floatleft{float:left}.floatright{float:right}img.floatleft,.img.floatright{position:relative}.alignleft{text-align:left}.alignright{text-align:right}em{font-style:italic}.embed-container{max-width:100%;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.embed-container iframe,.embed-container object,.embed-container embed{width:100%;height:100%;position:absolute;top:0;left:0}@media (min-width:640px){.page-container{padding-left:var(--header-width)}}.bsd-header{z-index:var(--pennon-z-index);background-color:var(--background-color-three);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--shape-color);border-bottom:var(--border-size) solid var(--border-color);align-items:center;gap:10px;height:80px;padding:10px;transition:background .5s;display:flex;position:relative}@media (min-width:640px){.bsd-header{border-bottom:none;border-right:var(--border-size) solid var(--border-color);flex-direction:column;gap:20px;width:100px;height:100%;padding:20px;position:fixed;top:0;bottom:0;left:0}}@media (min-width:800px){.bsd-header{gap:30px;padding:30px}}.bsd-header.scrolled{box-shadow:-1px 0 5px #0000000d}.bsd-header.active{background-color:var(--background-color-four);color:var(--background-color)}.bsd-header.active .site-title,.bsd-header.active .menu-btn{color:var(--background-color)}.site-title{white-space:nowrap;text-overflow:ellipsis;color:var(--text-color-opacified);text-align:left;pointer-events:none;font-size:16px;line-height:20px;font-family:var(--body-font), monospace;order:2;transition:color .5s;overflow:hidden}.site-title span{font-size:11px;line-height:12px;display:block}@media (min-width:640px){.site-title{writing-mode:vertical-rl}.site-title span{font-size:inherit;line-height:inherit;display:inline}}@media (min-width:640px) and (min-height:800px){.site-title{writing-mode:vertical-rl;font-size:20px}}header .logo{color:currentColor;justify-content:center;align-items:space-between;z-index:2;border-radius:var(--border-radius-small);flex-direction:row;order:1;padding:10px;transition:color .2s;display:flex;position:relative}header .logo svg{width:50px;height:50px;margin:-5px;display:block}header .logo:hover{color:var(--background-color-five)}@keyframes rotate-after-anim{0%{transform:rotate(0)}50%{transform:rotate(45deg)}to{transform:rotate(0)}}@media (min-width:640px){header .logo{order:1}header .logo svg{width:60px;height:60px;margin:-10px}}header .logo path.line{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}header .logo .top-left{stroke-dasharray:76.2858;animation:.5s ease-in backwards top-left}@keyframes top-left{0%{stroke-dashoffset:76.2858px}to{stroke-dashoffset:0}}header .logo .middle-section{stroke-dasharray:96.4948;animation:1s linear .5s backwards middle-section}@keyframes middle-section{0%{stroke-dashoffset:96.4948px}to{stroke-dashoffset:0}}header .logo .bottom-right{stroke-dasharray:76.2859;animation:.75s ease-out 1.5s backwards bottom-right}@keyframes bottom-right{0%{stroke-dashoffset:76.2859px}to{stroke-dashoffset:0}}header .logo .connector-bottom-right{stroke-dasharray:6;animation:.55s linear 1.3s backwards connector-bottom-right}@keyframes connector-bottom-right{0%{stroke-dashoffset:-6px}to{stroke-dashoffset:0}}header .logo .connector-top-left{stroke-dasharray:6;animation:.55s ease-in .5s backwards connector-top-left}@keyframes connector-top-left{0%{stroke-dashoffset:-6px}to{stroke-dashoffset:0}}@keyframes draw-in{to{stroke-dashoffset:0}}.header-menu{order:3;margin-left:auto}@media (min-width:640px){.header-menu{order:3;margin-top:auto;margin-left:0}}.menu-btn{border-radius:var(--border-radius-small);cursor:pointer;text-align:left;color:var(--text-color-opacified);z-index:11;text-indent:100%;white-space:nowrap;background:0 0;border:none;padding:10px;line-height:40px;transition:color .5s ease-in-out;display:block;position:relative}.menu-btn .hamburger{width:50px;height:50px;margin:-5px;display:block;position:relative}@media (min-width:640px){.menu-btn{order:3;line-height:60px}.menu-btn .hamburger{width:60px;height:60px;margin:-10px}}.menu-btn .path{fill:none;stroke:currentColor;stroke-width:4px;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset .5s,stroke-dasharray .5s}.menu-btn .top,.menu-btn .bottom{stroke-dasharray:21.2132 54.9085}.menu-btn .top{stroke-dashoffset:-54.9085px}.menu-btn .bottom,.menu-btn.open .top{stroke-dashoffset:0}.menu-btn.open .bottom{stroke-dashoffset:-54.9085px}.menu-btn .middle{stroke-dasharray:42.4264;stroke-dashoffset:-7.07107px}.menu-btn:hover .middle{stroke-dasharray:56.5685;stroke-dashoffset:0}.menu-btn.open:hover .middle,.menu-btn.open .middle{stroke-dasharray:42.4264;stroke-dashoffset:-7.07107px}@media screen and (max-width:800px){.menu-btn{display:block}}.footer{text-align:center;font-size:var(--small-font-size);line-height:var(--small-line-height);background-color:#f0f8ff;padding:40px}.work{color:var(--text-color);scrollbar-width:none;position:relative}.work::-webkit-scrollbar{display:none}@media (min-width:640px){.work{padding-left:var(--header-width)}}@media (min-width:800px){.work{height:100dvh;overflow:hidden}}.work-listings{--columns:26;--rows:3;--listing-square-size:calc((((100% - (var(--outside-padding) * 2) - (var(--inside-gap) * 2)) / 3)));padding:var(--outside-padding);gap:var(--inside-gap);width:100%;height:calc((var(--listing-square-size) * var(--columns)) + (var(--inside-gap) * (var(--columns) - 1)) + (var(--outside-padding) * 2));grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto repeat(var(--columns), 1fr);grid-template-areas:"intro intro intro""me me profile""me me profile""blog listening listening""blog listening listening""codepen projects projects""servoscanner servoscanner servoscanner""servoscanner servoscanner servoscanner""current current current""current current current""scribe scribe scribe""scribe scribe scribe""obliqua obliqua obliqua""obliqua obliqua obliqua""mesh retrospective retrospective""mesh retrospective retrospective""resume resume resume""contact contact contact""polidex polidex polidex""polidex polidex polidex""title-work title-work title-work""hipages hipages hipages""hipages hipages hipages""domain domain domain""domain domain domain""internetrix internetrix internetrix""internetrix internetrix internetrix";display:grid;overflow:hidden}@media (min-width:800px){.work-listings{--rows:1;--columns:29;--listing-square-size:calc((((100dvh - (var(--outside-padding) * 2) - (var(--inside-gap) * 2)) / 3)));height:100dvh;width:calc((var(--listing-square-size) * var(--columns)) + (var(--inside-gap) * (var(--columns) - 1)) + (var(--outside-padding) * 2));grid-template-rows:1fr 1fr 1fr;grid-template-columns:repeat(var(--columns), 1fr);grid-template-areas:"profile profile intro intro intro listening listening projects projects codepen current current mesh scribe scribe scribe scribe scribe scribe obliqua obliqua polidex polidex retrospective retrospective title-work title-work domain domain""me me intro intro intro listening listening servoscanner servoscanner servoscanner current current mesh scribe scribe scribe scribe scribe scribe obliqua obliqua polidex polidex retrospective retrospective hipages hipages domain domain""me me intro intro intro blog blog servoscanner servoscanner servoscanner contact contact mesh scribe scribe scribe scribe scribe scribe obliqua obliqua polidex polidex resume resume hipages hipages internetrix internetrix"}}@media (min-width:800px) and (min-height:600px){.work-listings{--rows:2;--columns:17;--listing-square-size:calc((((100dvh - (var(--outside-padding) * 2) - (var(--inside-gap) * 1)) / 2)));height:100dvh;width:calc(( ((var(--listing-square-size) - (var(--inside-gap) * 2)) / 3) * var(--columns) ) + (var(--inside-gap) * (var(--columns) - 1)) + (var(--outside-padding) * 2));grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(var(--columns), 1fr);grid-template-areas:"intro intro intro intro intro projects projects scribe scribe scribe scribe scribe scribe retrospective retrospective title-work title-work""intro intro intro intro intro current current scribe scribe scribe scribe scribe scribe retrospective retrospective hipages hipages""intro intro intro intro intro current current scribe scribe scribe scribe scribe scribe resume resume hipages hipages""me me me listening listening servoscanner servoscanner servoscanner servoscanner mesh codepen contact contact obliqua obliqua domain domain""me me me listening listening servoscanner servoscanner servoscanner servoscanner mesh polidex polidex polidex obliqua obliqua domain domain""me me me profile profile servoscanner servoscanner servoscanner servoscanner mesh polidex polidex polidex blog blog internetrix internetrix"}}@media (min-width:800px) and (min-height:1200px){.work-listings{--rows:6;--columns:12;--listing-square-size:calc((((100dvh - (var(--outside-padding) * 2) - (var(--inside-gap) * 5)) / 6)));height:100dvh;width:calc((var(--listing-square-size) * var(--columns)) + (var(--inside-gap) * (var(--columns) - 1)) + (var(--outside-padding) * 2));grid-template-rows:repeat(var(--rows), 1fr);grid-template-columns:repeat(var(--columns), 1fr);grid-template-areas:"intro intro intro contact contact mesh polidex polidex resume resume title-work title-work""intro intro intro projects projects mesh polidex polidex current current hipages hipages""me me profile obliqua obliqua servoscanner servoscanner servoscanner current current hipages hipages""me me profile obliqua obliqua servoscanner servoscanner servoscanner current current domain domain""decorative-2 listening listening scribe scribe scribe scribe retrospective retrospective blog domain domain""codepen listening listening scribe scribe scribe scribe retrospective retrospective blog internetrix internetrix"}}.work-listings .item{scroll-snap-align:start;animation:1s both fadeIn;position:relative}.work-listings .item:first-child{animation-delay:50ms}.work-listings .item:nth-child(2){animation-delay:.1s}.work-listings .item:nth-child(3){animation-delay:.15s}.work-listings .item:nth-child(4){animation-delay:.2s}.work-listings .item:nth-child(5){animation-delay:.25s}.work-listings .item:nth-child(6){animation-delay:.3s}.work-listings .item:nth-child(7){animation-delay:.35s}.work-listings .item:nth-child(8){animation-delay:.4s}.work-listings .item:nth-child(9){animation-delay:.45s}.work-listings .item:nth-child(10){animation-delay:.5s}.work-listings .item:nth-child(11){animation-delay:.55s}.work-listings .item:nth-child(12){animation-delay:.6s}.work-listings .item:nth-child(13){animation-delay:.65s}.work-listings .item:nth-child(14){animation-delay:.7s}.work-listings .item:nth-child(15){animation-delay:.75s}.work-listings .item:nth-child(16){animation-delay:.8s}.work-listings .item:nth-child(17){animation-delay:.85s}.work-listings .item:nth-child(18){animation-delay:.9s}.work-listings .item:nth-child(19){animation-delay:.95s}.work-listings .item:nth-child(20){animation-delay:1s}.work-listings img{width:100%;height:auto;display:block}.work-listings a{text-decoration:none;display:block}.home-intro{grid-area:intro}@keyframes hand-wave{0%{transform:rotate(0)}25%{transform:rotate(20deg)}50%{transform:rotate(-20deg)}75%{transform:rotate(20deg)}to{transform:rotate(0)}}.wave{transform-origin:60% 100%;display:inline-block}.wave:hover{animation:.5s forwards hand-wave}.scroll{grid-area:scroll}.scroll svg{width:100%;height:auto;display:block}.spinning-text{transform-origin:50%;animation:10s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.title-projects{grid-area:projects;position:relative}.title-projects svg{position:absolute;bottom:-30px;right:-30px}.title-work{grid-area:title-work}.title-work svg{position:absolute;bottom:-30px;left:30px}.title-card{text-align:center;background-color:var(--background-color-three);border-radius:var(--border-radius);justify-content:center;align-items:center;display:flex}.home-intro-content{background-color:var(--background-color-two);border:var(--border-size) solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--border-radius);height:100%;position:relative}.home-intro-content .intro-text{padding:var(--inside-padding);flex-direction:column;gap:10px;display:flex}@media (min-width:800px){.home-intro-content .intro-text{width:100%;height:100%;position:absolute;top:0;left:0;overflow:auto}}.home-intro-content p{color:var(--text-color);font-size:var(--body-font-size);line-height:var(--body-line-height)}.home-intro-content p.headline{font-weight:700;font-size:var(--body-large-font-size);line-height:var(--body-large-line-height)}.home-intro-content .intro-speech-bubble{width:30px;height:30px;margin-top:calc(var(--border-size) / 2);top:100%;right:calc(((100% / 3) * 1) + (var(--inside-gap) / 2));position:absolute}.home-intro-content .intro-speech-bubble .outline{stroke-width:var(--border-size)}.home-intro-content .intro-speech-bubble svg{width:120%;height:120%;margin:-10%;display:block}.home-intro-content .intro-speech-bubble svg .bg{fill:var(--background-color-two)}.home-intro-content .intro-speech-bubble svg .outline{fill:none;stroke:var(--border-color);stroke-linejoin:round;stroke-linecap:round}@media (min-width:800px){.home-intro-content .intro-speech-bubble{top:100%;right:calc(((100% / 5) * 2) + (var(--inside-gap) / 2))}.home-intro-content .intro-speech-bubble .outline{stroke-width:var(--border-size)}}.home-intro-content .intro-speech-bubble .desktop-bubble{display:none}@media (min-width:800px) and (min-height:600px){.home-intro-content .intro-speech-bubble .desktop-bubble{width:50px;height:50px;display:block}}.home-intro-content .intro-speech-bubble .tablet-bubble{display:none}@media (min-width:640px) and (min-height:600px){.home-intro-content .intro-speech-bubble .tablet-bubble{width:40px;height:40px;display:block}}@media (min-width:800px) and (min-height:600px){.home-intro-content .intro-speech-bubble .tablet-bubble{display:none}}.home-intro-content .intro-speech-bubble .mobile-bubble{display:block}@media (min-width:640px){.home-intro-content .intro-speech-bubble .mobile-bubble{display:none}}.filler{background-color:var(--background-color-three);border-radius:100%;grid-area:decorative-2;display:none}@media (min-width:800px) and (min-height:1200px){.filler{display:block}}.codepen{grid-area:codepen;position:relative}.codepen .back-codepen{z-index:2;pointer-events:none;width:100%;display:block;position:absolute;top:0;left:0}.codepen .back-codepen text{font-size:8px}@media (min-width:800px) and (min-height:600px) and (max-height:1200px){.codepen .back-codepen{width:200%;height:auto;top:-50%;left:-50%}.codepen .back-codepen text{font-size:5px}}@media (min-width:800px) and (min-height:1200px){.codepen .back-codepen text{font-size:8px}}.codepen a{z-index:2;background-color:var(--background-color-three);width:100%;height:100%;color:var(--text-color-on-background);border:var(--border-size) solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;transition:scale .25s;display:flex;position:relative}.codepen a:hover{scale:.98}.codepen a svg{display:block}.mesh{grid-area:mesh;position:relative}.mesh-content{border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1823 1823' xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E"),radial-gradient(circle at 0 0,#36083a 5%,#0000 60%),radial-gradient(circle at 33.3333% 0,#6d0834 5%,#0000 60%),radial-gradient(circle at 66.6667% 0,#d3316a 5%,#0000 60%),radial-gradient(circle at 100% 0,#d666ba 5%,#0000 60%),radial-gradient(circle at 0%,#b054c4 5%,#0000 60%),radial-gradient(circle at 33.3333%,#e04d7c 5%,#0000 60%),radial-gradient(circle at 66.6667%,#ffc2e1 5%,#0000 60%),radial-gradient(circle at 100%,#ffe6b8 5%,#0000 60%),radial-gradient(circle at 0 100%,#7d53d0 5%,#0000 60%),radial-gradient(circle at 33.3333% 100%,#da72c0 5%,#0000 60%),radial-gradient(circle at 66.6667% 100%,#e486cd 5%,#0000 60%),radial-gradient(circle at 100% 100%,#ffc7f1 5%,#0000 60%);align-items:flex-end;width:100%;height:100%;transition:translate .25s;display:flex;position:absolute;top:0;left:0}.mesh-content .overlay{width:100%;padding:var(--inside-padding);color:var(--text-color-on-background);font-size:var(--base-font-size);line-height:var(--base-line-height);writing-mode:vertical-rl;align-items:center;display:flex;position:absolute;top:0;left:0}.mesh-content .external{top:auto;bottom:var(--inside-padding);margin-right:-12px;right:50%}.mesh-content:hover{translate:0 -5px}.me{grid-area:me;position:relative}.me-content{position:relative}.me-illustration{aspect-ratio:1;position:relative}.me-illustration .back,.me-illustration .front{width:150%;height:150%;display:block;position:absolute;top:-25%;left:-25%}.me-illustration:after{content:"";border:var(--border-size) solid var(--border-color);border-radius:50%;width:100%;height:100%;position:absolute}.me-illustration .front{z-index:1}.current-work{grid-area:current}.servoscanner{grid-area:servoscanner}.external{top:var(--inside-padding);right:var(--inside-padding);width:24px;height:24px;color:var(--text-color-on-background);opacity:.8;z-index:2;position:absolute}.project{color:var(--text-color)}.project .main-link{border-radius:var(--border-radius);border:var(--border-size) solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--spacing-s);width:100%;height:100%;transition:translate .25s;display:flex;position:relative;overflow:hidden}.project .main-link:hover{translate:0 -5px}.project img.image-background{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.project img.image-overlay{-o-object-fit:contain;object-fit:contain;border-radius:var(--border-radius);z-index:1;max-width:70%;height:100%;position:absolute;top:0;right:0}@media (min-width:800px) and (min-height:600px){.project img.image-overlay{max-width:66%}}.project .overlay{z-index:2;padding-left:var(--inside-padding);padding-bottom:var(--inside-padding);color:var(--text-color-on-background);gap:var(--spacing-s);flex-direction:column;flex-grow:1;margin-top:auto;display:flex;position:relative}.project .external-link{top:var(--inside-padding);left:var(--inside-padding);font-size:var(--small-font-size);line-height:var(--small-line-height);gap:var(--spacing-s);color:var(--text-color-on-background);opacity:1;border-radius:100px;align-items:center;transition:opacity .2s;display:inline-flex;position:absolute}.project .external-link:hover{opacity:.8}.project .logo-overlay{width:100%;height:100%;padding:var(--inside-padding);justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;left:0}.project .logo-overlay svg,.project .logo-overlay img{width:100%;max-width:160px;height:auto;max-height:100%;display:block}.project .label{color:var(--text-color-on-background);font-weight:700}.project .label-small{font-size:var(--small-font-size);line-height:var(--small-line-height);color:var(--text-color-on-background)}.listening{grid-area:listening}.listening .listening-to{height:100%;position:relative}.listening button{border:var(--border-size) solid var(--border-color);cursor:pointer;z-index:2;text-indent:100%;white-space:nowrap;background:linear-gradient(-45deg,#000000f2,#0000,#0000,#000000f2);border-radius:50%;width:100%;height:100%;margin:0;padding:0;transition:scale .25s;display:block;position:relative;overflow:hidden}.listening button:hover,.listening button:hover+svg{scale:.98}.listening .listening-text{color:var(--text-color-on-background);font-size:4.5px}.listening .listening-outside-text{visibility:hidden}@media (min-width:800px) and (min-height:600px) and (max-height:1200px){.listening .listening-inside-text{visibility:hidden}.listening .listening-outside-text{visibility:visible}.listening .listening-text{color:var(--text-color);font-size:6.5px}.listening button{background:0 0}}.listening .label{padding:var(--inside-padding);z-index:2;color:#000;position:absolute;top:0;left:0}.listening svg{width:140%;height:140%;margin:-20%;transition:scale .25s;display:block;position:absolute;top:0;left:0}.listening .listening-text-overlay{z-index:2;pointer-events:none}.something{grid-area:something}.something svg{width:100%;height:auto;display:block}.scribe{grid-area:scribe}.scribe a{background-color:#8795b9}.profile{grid-area:profile}.resume{grid-area:resume}.blog{grid-area:blog}.contact{grid-area:contact}.horizontal-card,.vertical-card{container:card/size}.horizontal-card a,.vertical-card a{line-height:var(--large-line-height);background-color:var(--background-color-five);border-radius:var(--border-radius);background-position:50%;background-size:cover;height:100%;transition:translate .25s,background-color .25s;position:relative}.horizontal-card a:hover,.vertical-card a:hover{background-color:var(--background-color-four);translate:0 -5px}.horizontal-card a img,.vertical-card a img{-o-object-fit:cover;object-fit:cover;border-radius:var(--border-radius);mix-blend-mode:color-burn;background-color:var(--background-color-four);opacity:.2;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.horizontal-card a .overlay,.vertical-card a .overlay{border-radius:var(--border-radius);width:100%;height:100%;color:var(--text-color-on-background);border:var(--border-size) solid var(--border-color);writing-mode:vertical-rl;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}@container (min-aspect-ratio:1){.horizontal-card a .overlay,.vertical-card a .overlay{writing-mode:horizontal-tb}}.retrospective{grid-area:retrospective;position:relative}.retrospective svg{width:112%;height:112%;display:block;position:absolute;top:-7%;left:-7%}.retrospective .back-outline{width:100%;height:100%;position:absolute;top:0;left:0}.retrospective a{border-radius:var(--border-radius);width:100%;height:100%;transition:translate .25s;display:block}.retrospective a:hover{translate:0 -5px}.retrospective a:hover z.cutout-1,.retrospective a:hover .cutout-2,.retrospective a:hover .cutout-3,.retrospective a:hover .cutout-4,.retrospective a:hover .cutout-5{animation-name:flick;animation-duration:1s;animation-timing-function:step-end;animation-iteration-count:infinite}.retrospective a:hover .cutout-2{animation-delay:-.2s}.retrospective a:hover .cutout-3{animation-delay:-.4s}.retrospective a:hover .cutout-4{animation-delay:-.6s}.retrospective a:hover .cutout-5{animation-delay:-.8s}@keyframes colors{0%{fill:#ffd599}20%{fill:#d2ff9c}40%{fill:#73def4}60%{fill:#ffabd2}80%{opacity:#ff9b85}to{opacity:#ff9b85}}.obliqua{grid-area:obliqua}.obliqua a{border-radius:var(--border-radius);border:var(--border-size) solid var(--border-color);background-color:#d3d3d3;transition:translate .25s,background-color .5s;display:block}.obliqua a .ob-1,.obliqua a .ob-2,.obliqua a .ob-3,.obliqua a .ob-4,.obliqua a .ob-5,.obliqua a .ob-6,.obliqua a .ob-7{fill:gray}.obliqua a:hover{background-color:#fff;translate:0 -5px}.obliqua a:hover .ob-1,.obliqua a:hover .ob-2,.obliqua a:hover .ob-3,.obliqua a:hover .ob-4,.obliqua a:hover .ob-5,.obliqua a:hover .ob-6,.obliqua a:hover .ob-7{animation-name:colors;animation-duration:1s;animation-timing-function:step-end;animation-iteration-count:infinite}.obliqua a:hover .ob-2{animation-delay:-.2s}.obliqua a:hover .ob-3{animation-delay:-.4s}.obliqua a:hover .ob-4{animation-delay:-.6s}.obliqua a:hover .ob-5{animation-delay:-.8s}.obliqua a:hover .ob-6{animation-delay:-1s}.obliqua a:hover .ob-7{animation-delay:-1.2s}.polidex{grid-area:polidex}.hipages{grid-area:hipages}.hipages a{background-color:#fff}.domain{grid-area:domain}.internetrix{grid-area:internetrix}.archive-item a{border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);width:100%;height:100%;transition:translate .25s;display:block;position:relative}.archive-item a:hover{translate:0 -5px}.archive-item img.background-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.archive-item .label{font-weight:700;line-height:var(--large-line-height)}.archive-item .date-overlay{color:var(--text-color);font-size:var(--small-font-size);line-height:var(--small-line-height);padding-bottom:var(--spacing-s);position:absolute;bottom:100%;right:0}.archive-item .logo-overlay{width:100%;height:100%;padding:var(--spacing-m);justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.archive-item .logo-overlay img,.archive-item .logo-overlay svg{width:100%;max-width:75%;height:auto;max-height:100%;display:block}.archive-decoration svg{width:100%;height:auto;display:block}.decorative-1{grid-area:decorative-1}.decorative{border-radius:var(--border-radius);background-color:var(--background-color-three);width:100%;height:100%;position:relative}@media (min-width:800px){.decorative{border-radius:50%}}@media (min-width:800px) and (min-height:1200px){.decorative{border-radius:var(--border-radius)}}.decorative svg{width:110px;height:auto;display:block;position:absolute;top:-20px;right:-30px}.home-contact{z-index:1;grid-template-columns:1fr;grid-auto-flow:row;justify-content:center;align-items:stretch;height:100dvh;display:grid;position:relative}@media (min-width:600px){.home-contact{grid-template-columns:2fr 1fr;grid-auto-flow:column}}@media (min-width:800px){.home-contact{grid-template-columns:1fr 1fr;grid-auto-flow:column}}.contact-content{padding:var(--outside-padding);height:100%;overflow:auto}.contact-image{background-color:var(--background-color-four);position:relative}.contact-image img{-o-object-fit:cover;object-fit:cover;mix-blend-mode:luminosity;opacity:.5;width:100%;height:100%;display:block}.contact-image__credit{bottom:var(--spacing-m);right:var(--spacing-m);font-size:var(--small-font-size);line-height:var(--small-line-height);color:var(--text-color);position:absolute}.home-contact h2{color:var(--text-color);font-size:var(--body-large-font-size);line-height:var(--body-large-line-height);margin-bottom:var(--spacing-l)}@media (min-width:800px){.home-contact h2{font-size:var(--heading-large-font-size);line-height:var(--heading-large-line-height)}}.home-contact header nav li a{color:#293853}.home-contact footer .social li a svg{fill:#293853}.home-contact .comment-form{gap:calc(var(--inside-gap) / 2);grid-column:span 2;grid-template-areas:"name""email""comment""submit";display:grid}.comment-form .field-name{grid-area:name}.comment-form .field-email{grid-area:email}.comment-form .field-comment{grid-area:comment}.home-contact input,.home-contact textarea{font-family:var(--body-font), monospace;width:100%;font-size:var(--base-font-size);line-height:var(--base-line-height);color:var(--text-color);padding:var(--inside-padding);border:var(--border-size) solid var(--border-color);background:0 0;background:var(--background-color-three);border-radius:var(--border-radius);outline:none;transition:border-color .5s;display:block}.home-contact input:focus,.home-contact textarea:focus{border-color:var(--highlight-color)}.home-contact textarea{resize:vertical}.home-contact .submit{flex-direction:row-reverse;display:flex}.home-contact button{font-family:var(--body-font), monospace;font-size:var(--base-font-size);line-height:var(--base-line-height);cursor:pointer;padding:var(--inside-padding);border-radius:var(--border-radius);background:var(--background-color-two);color:var(--text-color);border:0;border:var(--border-size) solid var(--border-color);min-width:220px;transition:translate .25s;display:block;position:relative;overflow:hidden}.home-contact button svg{width:30px;height:30px;margin-top:-15px;margin-left:-15px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}.home-contact button svg circle{stroke-width:10px;stroke-dasharray:94.2609 94.2609;stroke-linecap:round;stroke:currentColor}.home-contact button.loading{width:60px}.home-contact button:hover{translate:0 -2px}.home-contact .message{padding:var(--spacing-m);margin-top:var(--spacing-s);border-radius:var(--border-radius);font-size:var(--base-font-size);line-height:var(--base-line-height)}.home-contact .message.error{background:var(--error-background);color:var(--error)}.home-contact .message.success{background:var(--success-background);color:var(--success)}.profile-page{padding:var(--outside-padding);gap:var(--inside-gap);grid-template-rows:auto auto auto;grid-template-areas:"intro""education""history";grid-auto-flow:row;display:grid;overflow:hidden}@media (min-width:800px){.profile-page{grid-template:"intro history""intro history""education education"/1fr 1fr;height:100dvh}}@media (min-width:1000px){.profile-page{grid-template:"education intro intro history""education intro intro history""education intro intro history""education intro intro history""education intro intro history""education intro intro history"/1fr 1fr 1fr 1fr}}.profile-page .experience li:not(:last-child){margin-bottom:var(--spacing-m)}.profile-page .experience .work-experience--job+.work-experience--job:before{content:"";height:var(--spacing-s);display:block}.profile-page .experience .work-experience--employer{font-size:var(--small-font-size);line-height:var(--small-line-height);margin-bottom:var(--spacing-xs);display:block}.profile-page .experience .work-experience--job-title{font-weight:700;display:block}.profile-page .experience .work-experience--period{font-size:var(--small-font-size);line-height:var(--small-line-height);color:var(--text-color-opacified);margin-top:var(--spacing-xs);display:block}.profile-page{--cutout-gap:var(--spacing-s)}.profile-page .cutout{margin:calc(-1 * var(--border-size))}.profile-page .cutout+.profile-item:before{content:"";float:right;width:100px;height:30px}.profile-page .cutout-label{border:var(--border-size) solid var(--border-color);background-color:var(--background-color-three);border-radius:var(--border-radius) var(--border-radius) 0 0;padding:var(--spacing-s) var(--inside-padding);color:var(--text-color-opacified);font-size:14px}.profile-item-holder{background-color:var(--background-color-two);border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);min-width:0;min-height:0;position:relative}.profile-item{font-size:var(--base-font-size);line-height:var(--base-line-height);padding:var(--inside-padding);max-height:100%;overflow:auto}.profile-item h1,.profile-item h2{font-size:var(--small-font-size);line-height:var(--small-line-height);color:var(--text-color);font-weight:700}.profile-item p{color:var(--text-color);font-size:calc(.37037vw + 14.6667px);line-height:175%}.profile-item p:not(:last-child){margin:0 0 var(--spacing-m) 0}.profile-intro{grid-area:intro;position:relative}@media (min-width:1200px){.profile-intro .profile-item{padding:var(--spacing-xl)}}.history-column{gap:var(--inside-gap);flex-direction:column;grid-area:history;min-height:0;max-height:100%;display:flex}@media (min-width:800px){.history-column{flex-direction:column-reverse}}.profile-history{flex-grow:1}.column-education{gap:var(--inside-gap);flex-direction:column;grid-area:education;min-height:0;max-height:100%;display:flex}@media (min-width:800px){.column-education{flex-direction:row}}@media (min-width:1000px){.column-education{flex-direction:column-reverse}}.profile-education{flex-grow:1}.lozenge-list{flex-wrap:wrap;gap:5px;display:flex}.lozenge-list li{border-radius:var(--border-radius-small);border:var(--border-size) solid var(--border-color);padding:5px}a.profile-card{min-height:100px;font-weight:700;line-height:var(--large-line-height);background-color:var(--background-color-four);border-radius:var(--border-radius);background-position:50%;background-size:cover;transition:translate .25s,background-color .25s;display:block;position:relative;container-type:size}a.profile-card:hover{background-color:var(--background-color-five);translate:0 -5px}a.profile-card img{-o-object-fit:cover;object-fit:cover;border-radius:var(--border-radius);mix-blend-mode:color-burn;background-color:var(--background-color-four);opacity:.2;width:100%;height:100%;display:block;position:absolute;top:0;left:0}a.profile-card .overlay{border-radius:var(--border-radius);width:100%;height:100%;color:var(--text-color-on-background);border:var(--border-size) solid var(--border-color);writing-mode:vertical-rl;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}@container (min-aspect-ratio:1){a.profile-card .overlay{writing-mode:horizontal-tb}}.me-animate{width:150%;margin:-25%}.profile-me{flex-shrink:shrink;gap:var(--inside-gap);aspect-ratio:1;flex-direction:column;display:flex;position:relative}.profile-me a{flex-grow:1}.profile-me .me-illustration{flex-shrink:0}.profile-links{justify-content:stretch;gap:var(--inside-gap);flex-direction:column;flex-shrink:0;display:flex}.mobile-nav-backdrop{z-index:1;background-color:var(--background-color-three);width:100%;height:100%;position:fixed;top:0;left:0}.full-screen-mobile-menu{z-index:2;color:#fff;background-color:var(--background-color-five);width:100%;height:100%;padding-top:var(--header-width);display:flex;position:fixed;top:0;left:0}@media (min-width:640px){.full-screen-mobile-menu{padding-top:0;padding-left:var(--header-width);width:480px}}.full-screen-mobile-menu ul{width:100%;padding:var(--outside-padding);gap:var(--inside-gap);z-index:2;grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr;grid-auto-rows:auto;display:grid;position:relative}.full-screen-mobile-menu ul li{flex:auto;font-size:24px;position:relative;container:nav-link/size}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.full-screen-mobile-menu ul li a{border-radius:var(--border-radius);width:100%;height:100%;padding:var(--inside-padding);background-color:var(--background-color-four);border:var(--border-size) solid var(--border-color);text-align:center;color:var(--background-color);writing-mode:vertical-rl;justify-content:center;align-items:center;text-decoration:none;transition:all .5s;display:flex}@container nav-link (min-aspect-ratio:1){.full-screen-mobile-menu ul li a{writing-mode:horizontal-tb}}.full-screen-mobile-menu ul li a:hover{background-color:var(--background-color-five)}.not-found{text-align:center;height:100dvh;color:var(--text-color);padding:0 40px}@supports (display:flex){.not-found{flex-direction:column;justify-content:center;display:flex}}.not-found h1{color:currentColor;font-size:48px}.not-found p{color:currentColor;margin-top:20px;font-size:24px}.home-icon{width:80px;height:80px;padding:10px}.home-icon svg{width:60px;height:60px;display:block}.home-icon .home-icon__outline{color:var(--shape-color);stroke:var(--shape-color);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}.home-icon .home-icon__line{color:currentColor;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}.showcase-top{background-color:var(--background-color-two);border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius);top:var(--outside-padding);flex-direction:column-reverse;gap:20px;padding:40px;display:flex}@media (min-width:1100px){.showcase-top{align-items:center;gap:var(--inside-gap);grid-template-columns:auto 80px;display:grid}}.showcase-top-intro{flex-direction:column;flex-grow:1;gap:10px;display:flex}.showcase-top-details{flex-direction:column;flex-shrink:0;gap:10px;display:flex}@media (min-width:640px){.showcase{padding-left:var(--header-width)}}.showcase .logo{max-width:80px;height:auto;display:block}.showcase .title{font-weight:700;font-size:var(--body-large-font-size);line-height:var(--body-large-line-height);color:var(--heading-color)}.showcase .link{font-size:var(--small-font-size);line-height:var(--small-line-height);color:var(--text-color-opacified);text-decoration:none;display:inline-block}.showcase .link svg{width:12px;height:12px;margin:0;display:inline-block}.showcase .link svg .line{fill:none;stroke:currentColor;stroke-width:10px;stroke-dashoffset:0;stroke-linecap:round}.showcase .link:hover,.showcase .link:focus{color:var(--brand-color)}.showcase p{color:var(--text-color);font-size:var(--base-font-size);line-height:var(--base-line-height)}.showcase p strong{font-weight:700}.showcase-content{max-width:var(--content-max-width);padding:var(--outside-padding);gap:var(--inside-gap);flex-direction:column;margin:0 auto;display:flex}.case-study{margin:calc(-1 * var(--spacing-l)) 0;grid-area:content}@media (min-width:1100px){.case-study{margin:calc(-1 * var(--spacing-l)) 0}}.case-study ul{margin:var(--spacing-l) 0 var(--spacing-l) var(--spacing-m);list-style:outside}.case-study p,.case-study li{font-size:var(--body-large-font-size);line-height:var(--body-large-line-height);color:var(--text-color)}.case-study p strong,.case-study p.description,.case-study li strong,.case-study li.description{font-weight:700}.case-study p{margin:var(--spacing-l) 0}.case-study li{margin:var(--spacing-s) 0}.case-study a{color:var(--shape-color);text-decoration:none}.case-study img,.case-study svg{width:auto;max-width:100%;height:auto;margin:var(--spacing-l) auto;display:block}.case-study img.rounded{border-radius:var(--border-radius-small)}.case-study figure{gap:var(--spacing-m);margin:var(--spacing-l) auto;flex-direction:column;display:flex}.case-study figure img{margin:0 auto}.case-study figure figcaption{text-align:center;color:var(--text-color-opacified)}.case-study img.bordered{background-color:var(--background-color);border:var(--border-size) solid var(--border-color);border-radius:var(--border-radius-small)}@keyframes moon{0%{transform:translate(0)}to{transform:translateY(-40px)}}@keyframes ball{0%{transform:translateY(-40px)}to{transform:translate(0)}}@keyframes squiggle{0%{transform:translate(0)}to{transform:translate(-80px,80px)}}:root{--swizzle-length:766.82px;--steam-length:91.824px}@keyframes swizzle{0%{stroke-dashoffset:calc(-1 * var(--swizzle-length))}50%{stroke-dashoffset:0}}@keyframes steam{0%{stroke-dasharray:var(--steam-length);stroke-dashoffset:calc(-1 * var(--steam-length))}25%{stroke-dasharray:var(--steam-length);stroke-dashoffset:0}50%{stroke-dasharray:var(--steam-length);stroke-dashoffset:var(--steam-length)}to{stroke-dasharray:var(--steam-length);stroke-dashoffset:var(--steam-length)}}.scribe-illustration{max-width:500px;margin:0 auto;position:relative}.scribe-illustration svg{max-width:100%;height:auto;display:block}.scribe-illustration .steam-one,.scribe-illustration .steam-two{stroke-dashoffset:calc(-1 * var(--steam-length))}.scribe-illustration .steam-one{animation:3s linear infinite backwards steam}.scribe-illustration .steam-two{animation:3s linear .25s infinite backwards steam}.scribe-illustration .side-line{stroke-dasharray:120 30 90 30 30;stroke-dashoffset:0}.scribe-illustration .moon{animation:5s infinite alternate moon}.scribe-illustration .ball{animation:5s infinite alternate ball}.scribe-illustration .squiggle{animation:3s linear infinite squiggle}.scribe-illustration .swizzle{stroke-dasharray:var(--swizzle-length);animation:4s infinite alternate swizzle}.masonry{align-items:start;gap:var(--inside-gap);grid-template-columns:1fr;grid-auto-flow:row;display:grid}@media (min-width:640px){.masonry{grid-template-rows:masonry;grid-auto-flow:dense;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.masonry a{transition:translate .25s;display:block}.masonry a:hover{translate:0 -5px}.masonry img{border-radius:var(--border-radius-small);border:var(--border-size) solid var(--border-color);width:100%;height:auto;margin:0;display:block}.gradient-background{z-index:-1;width:100%;height:100%;display:none;position:fixed;top:0;left:0}@media (min-width:800px){.gradient-background{display:block}}:root{--body-font:"DM Mono";--background-color:#fbf8f3;--background-color-grid-lines:#a6b8b6b0;--background-color-two:#fff;--background-color-three:#e9e7da;--background-color-four:#999c83;--background-color-five:#7b7e66;--secondary-color:#bdbbff;--third-color:#fff;--text-color:#2b2b28;--text-color-opacified:#5b5a4ae6;--border-color:#2b2b28;--border-color-secondary:#c7c9bd;--border-size:4px;--shape-color:#2b2b28;--shape-color-on-background:#fff;--text-color-on-background:#fff;--heading-color:#34352e;--pennon-z-index:4;--error:#b53884;--error-background:#fce0e0;--success:green;--success-background:#e6f6e6;--highlight-color:#e77b1cc9;--small-font-size:14px;--small-line-height:150%;--base-font-size:16px;--base-line-height:150%;--body-font-size:16px;--body-line-height:175%;--body-large-font-size:20px;--body-large-line-height:175%;--heading-large-font-size:40px;--heading-large-line-height:52px;--desktop-width:100%;--tablet-width:800px;--mobile-width:640px;--spacing-xs:2px;--spacing-s:10px;--spacing-m:20px;--spacing-l:40px;--spacing-xl:60px;--border-radius:10px;--border-radius-small:5px;--content-max-width:1000px;--header-width:80px;--inside-padding:30px;--outside-padding:40px;--inside-gap:40px}@media (min-width:640px) and (min-height:500px){:root{--header-width:100px}}@media (min-width:800px) and (min-height:800px){:root{--small-font-size:14px;--base-font-size:18px;--body-font-size:18px;--body-large-font-size:24px;--inside-padding:30px;--outside-padding:50px;--inside-gap:50px}}::selection{background:var(--background-color-four);color:var(--text-color)}.fade-enter{opacity:0;z-index:1}.fade-enter.fade-enter-active{opacity:1;transition:opacity .25s ease-in}html{cursor:url("data:image/svg+xml,%3Csvg width%3D%2214%22 height%3D%2220%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath fill%3D%22%23060807%22 d%3D%22M0 0l14 14.347H5.674L0 20z%22 fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") 0 0,pointer;font-family:var(--body-font), monospace;font-size:var(--base-font-size);line-height:var(--base-line-height)}body{background-color:var(--background-color)}svg{font-family:var(--body-font), monospace}.clearfix:after{content:"";clear:both;display:table}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background-color:var(--background-color-two-opacified)}body::-webkit-scrollbar-thumb{background-color:var(--background-color);border-radius:5px}:focus{outline:4px solid var(--highlight-color);outline-offset:4px}.iseeyou,.iseeyou{opacity:0}.showcase-icu.iseeyou{transform:translateY(20px)}.iseeyou.active,.iseeyou.active{opacity:1;animation:.5s showThing}.showcase-icu.iseeyou.active{animation:.5s showThingShowcase;transform:translateY(0)}@keyframes showThing{0%{opacity:0}to{opacity:1}}@keyframes showThingShowcase{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.overflow{background-color:var(--background-color);z-index:2;backface-visibility:hidden;clip-path:inset(0);position:relative;overflow:hidden}.shape-holder{position:relative}
