.GradientWaves-module__CtIPvq__container{pointer-events:none;width:100%;height:100%;position:relative;overflow:hidden}.GradientWaves-module__CtIPvq__field{z-index:0;pointer-events:none;opacity:0;transition:opacity 2s;position:fixed;inset:0}.GradientWaves-module__CtIPvq__field[data-visible=true]{opacity:1}.GradientWaves-module__CtIPvq__block{z-index:0;pointer-events:none;opacity:0;transition:opacity 2s;position:absolute;inset:0}.GradientWaves-module__CtIPvq__block[data-visible=true]{opacity:1}@media (prefers-reduced-motion:reduce){.GradientWaves-module__CtIPvq__field,.GradientWaves-module__CtIPvq__block{transition:none}}
.SideProjects-module__EXIuXG__banner{text-align:center;background:#1f4b65;background:lab(29.8798% -9.05231 -19.5728);border-radius:24px;flex-direction:column;align-items:center;gap:1.1rem;width:100%;padding:clamp(3.25rem,7vw,5rem) clamp(1.25rem,3vw,2rem);display:flex;position:relative;overflow:hidden}.SideProjects-module__EXIuXG__label,.SideProjects-module__EXIuXG__tiles{z-index:1;position:relative}.SideProjects-module__EXIuXG__label{font-family:var(--spore-font);font-variation-settings:"wght" 500;letter-spacing:.01em;color:var(--spore-ink);margin:0;font-size:1.375rem;font-weight:500;line-height:1.2}.SideProjects-module__EXIuXG__tiles{justify-content:center;gap:10px;width:100%;max-width:1080px;margin:0;padding:0;list-style:none;display:flex}.SideProjects-module__EXIuXG__item{--tile-wash:color-mix(in oklab, var(--tile-color) 68%, #fff);flex:1 1 0;min-width:0;display:flex;position:relative}.SideProjects-module__EXIuXG__item[data-featured=true]{--tile-wash:var(--tile-color);flex-grow:1.35}.SideProjects-module__EXIuXG__tile{isolation:isolate;border:1px solid var(--spore-rule);background:color-mix(in oklab, var(--spore-bg) 35%, transparent);color:var(--spore-ink);text-align:left;transition:border-color .45s var(--spore-ease), transform .35s var(--spore-ease);border-radius:14px;flex:1;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon heading""blurb blurb";align-content:start;align-items:center;gap:10px 11px;padding:13px 14px 14px;text-decoration:none;display:grid;position:relative;overflow:hidden}.SideProjects-module__EXIuXG__tile:before{content:"";z-index:-1;background:var(--tile-wash);transform-origin:0;transition:transform .55s var(--spore-ease);position:absolute;inset:0;transform:scaleX(0)}.SideProjects-module__EXIuXG__tile:hover,.SideProjects-module__EXIuXG__tile:focus-visible{border-color:var(--tile-wash)}.SideProjects-module__EXIuXG__tile:hover:before,.SideProjects-module__EXIuXG__tile:focus-visible:before{transform:scaleX(1)}.SideProjects-module__EXIuXG__tile:active{transform:scale(.97)}.SideProjects-module__EXIuXG__icon{width:32px;height:32px;transition:box-shadow .45s var(--spore-ease);border-radius:8px;grid-area:icon;display:block;box-shadow:0 0 0 1px #0000}.SideProjects-module__EXIuXG__tile:hover .SideProjects-module__EXIuXG__icon,.SideProjects-module__EXIuXG__tile:focus-visible .SideProjects-module__EXIuXG__icon{box-shadow:0 0 0 1.5px color-mix(in oklab, var(--tile-ink) 40%, transparent)}.SideProjects-module__EXIuXG__icon[data-pixel=true]{image-rendering:pixelated}.SideProjects-module__EXIuXG__heading{flex-direction:column;grid-area:heading;align-items:flex-start;gap:3px;min-width:0;display:flex}.SideProjects-module__EXIuXG__name{font-family:var(--spore-font-mark);letter-spacing:.01em;transition:color .45s var(--spore-ease);font-size:1rem;font-weight:900;line-height:1.15}.SideProjects-module__EXIuXG__tag{border:1px solid color-mix(in oklab, var(--spore-ink-muted) 45%, transparent);letter-spacing:.07em;text-transform:uppercase;color:var(--spore-ink-muted);transition:color .45s var(--spore-ease), border-color .45s var(--spore-ease);border-radius:999px;padding:1px 6px;font-size:.66rem;font-weight:500;line-height:1.35}.SideProjects-module__EXIuXG__item[data-featured=true] .SideProjects-module__EXIuXG__tag{border-color:color-mix(in oklab, var(--tile-color) 55%, transparent);color:color-mix(in oklab, var(--tile-color) 75%, var(--spore-ink))}.SideProjects-module__EXIuXG__blurb{color:var(--spore-ink-muted);text-wrap:pretty;transition:color .45s var(--spore-ease);grid-area:blurb;font-size:.98rem;line-height:1.3}.SideProjects-module__EXIuXG__tile:hover .SideProjects-module__EXIuXG__name,.SideProjects-module__EXIuXG__tile:focus-visible .SideProjects-module__EXIuXG__name{color:var(--tile-ink)}.SideProjects-module__EXIuXG__tile:hover .SideProjects-module__EXIuXG__blurb,.SideProjects-module__EXIuXG__tile:focus-visible .SideProjects-module__EXIuXG__blurb{color:color-mix(in oklab, var(--tile-ink) 82%, var(--tile-wash))}.SideProjects-module__EXIuXG__item .SideProjects-module__EXIuXG__tile:hover .SideProjects-module__EXIuXG__tag,.SideProjects-module__EXIuXG__item .SideProjects-module__EXIuXG__tile:focus-visible .SideProjects-module__EXIuXG__tag{border-color:color-mix(in oklab, var(--tile-ink) 35%, transparent);color:color-mix(in oklab, var(--tile-ink) 80%, var(--tile-wash))}.SideProjects-module__EXIuXG__item[data-featured=true] .SideProjects-module__EXIuXG__tile{background:radial-gradient(120% 90% at 0% 0%, color-mix(in oklab, var(--tile-color) 14%, transparent), transparent 60%), color-mix(in oklab, var(--spore-bg) 45%, transparent);column-gap:13px;padding:16px 18px 17px}.SideProjects-module__EXIuXG__item[data-featured=true] .SideProjects-module__EXIuXG__tile:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ffffff0a 44%,#ffffff29 50%,#ffffff0a 56%,#0000 62%);animation:8s cubic-bezier(.45,0,.25,1) 1.5s infinite SideProjects-module__EXIuXG__sheen;position:absolute;inset:-20% -60%;transform:translate(-70%)}.SideProjects-module__EXIuXG__item[data-featured=true] .SideProjects-module__EXIuXG__icon{border-radius:10px;width:40px;height:40px}.SideProjects-module__EXIuXG__item[data-featured=true] .SideProjects-module__EXIuXG__name{font-size:1.2rem}@keyframes SideProjects-module__EXIuXG__sheen{0%{transform:translate(-70%)}16%,to{transform:translate(70%)}}@media (max-width:860px){.SideProjects-module__EXIuXG__tiles{flex-wrap:wrap}.SideProjects-module__EXIuXG__item{flex:10rem}.SideProjects-module__EXIuXG__item[data-featured=true]{flex-basis:100%}}@media (max-width:640px){.SideProjects-module__EXIuXG__item{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.SideProjects-module__EXIuXG__tile,.SideProjects-module__EXIuXG__tile:before,.SideProjects-module__EXIuXG__icon,.SideProjects-module__EXIuXG__name,.SideProjects-module__EXIuXG__tag,.SideProjects-module__EXIuXG__blurb{transition:none}.SideProjects-module__EXIuXG__tile:active{transform:none}.SideProjects-module__EXIuXG__item[data-featured=true] .SideProjects-module__EXIuXG__tile:after{display:none}}
@property --gp{syntax:"<number>";inherits:true;initial-value:0}.Glyph-module__a-QVZW__glyph{--accent:var(--block-accent,var(--spore-accent));--pop:var(--block-pop,var(--spore-accent));width:100%;height:auto;color:var(--block-fg,currentColor);animation:8s infinite Glyph-module__a-QVZW__assemble;display:block;overflow:visible}@keyframes Glyph-module__a-QVZW__assemble{0%{--gp:0;animation-timing-function:cubic-bezier(.33,0,.15,1)}42%,80%{--gp:1;animation-timing-function:cubic-bezier(.55,0,.45,1)}to{--gp:0}}.Glyph-module__a-QVZW__glyph *{transform-box:fill-box;transform-origin:50%}.Glyph-module__a-QVZW__breathe{transform-box:view-box;transform-origin:100px 100px;animation:5s ease-in-out infinite alternate Glyph-module__a-QVZW__breathe}.Glyph-module__a-QVZW__lensA,.Glyph-module__a-QVZW__lensB{fill:currentColor;fill-opacity:.42;transform-origin:100px 100px}.Glyph-module__a-QVZW__lensA{transform:translateX(calc(-60px + var(--gp) * 38px))}.Glyph-module__a-QVZW__lensB{fill:var(--accent);fill-opacity:.82;transform:translateX(calc(60px - var(--gp) * 38px))}@keyframes Glyph-module__a-QVZW__breathe{0%{transform:scale(1)}to{transform:scale(1.035)}}.Glyph-module__a-QVZW__room,.Glyph-module__a-QVZW__roomLit,.Glyph-module__a-QVZW__roomBlink{fill:currentColor;fill-opacity:calc(.16 + clamp(0, calc(var(--gp) * 13 - var(--i)), 1) * .74)}.Glyph-module__a-QVZW__roomLit{fill:var(--pop);fill-opacity:calc(.35 + clamp(0, calc(var(--gp) * 13 - var(--i)), 1) * .65)}.Glyph-module__a-QVZW__roomBlink{animation:3.4s step-end infinite Glyph-module__a-QVZW__blink}@keyframes Glyph-module__a-QVZW__blink{0%,88%{fill:currentColor}89%,to{fill:var(--pop)}}.Glyph-module__a-QVZW__cell,.Glyph-module__a-QVZW__cellPop,.Glyph-module__a-QVZW__cellOutline{fill:currentColor;fill-opacity:.85;transform:translate(calc((1 - var(--gp)) * var(--dx)), calc((1 - var(--gp)) * var(--dy))) rotate(calc((1 - var(--gp)) * var(--r)))}.Glyph-module__a-QVZW__cellPop{fill:var(--pop);fill-opacity:1;animation:3s ease-in-out infinite alternate Glyph-module__a-QVZW__hover}.Glyph-module__a-QVZW__cellOutline{fill:none;stroke:var(--accent);stroke-width:3px}@keyframes Glyph-module__a-QVZW__hover{0%{translate:0}to{translate:0 -3px}}.Glyph-module__a-QVZW__stroke,.Glyph-module__a-QVZW__strokeLead{fill:currentColor;fill-opacity:.85;animation:7s infinite Glyph-module__a-QVZW__pivot;animation-delay:calc(var(--wave) * .16s)}.Glyph-module__a-QVZW__strokeLead{fill:var(--pop);fill-opacity:1}@keyframes Glyph-module__a-QVZW__pivot{0%,18%{animation-timing-function:cubic-bezier(.6,0,.3,1);transform:rotate(0)}30%{animation-timing-function:ease-in-out;transform:rotate(98deg)}35%,64%{animation-timing-function:cubic-bezier(.6,0,.3,1);transform:rotate(90deg)}76%{animation-timing-function:ease-in-out;transform:rotate(188deg)}81%,to{transform:rotate(180deg)}}.Glyph-module__a-QVZW__noise{fill:currentColor;fill-opacity:calc(var(--n) * (1 - var(--gp)) * .55)}.Glyph-module__a-QVZW__pixelFace,.Glyph-module__a-QVZW__pixelFeature{fill-opacity:clamp(0, calc(var(--gp) * 1.6 - var(--n) * .6), 1)}.Glyph-module__a-QVZW__pixelFace{fill:var(--pop)}.Glyph-module__a-QVZW__pixelFeature{fill:var(--block-bg,#26414f)}.Glyph-module__a-QVZW__step,.Glyph-module__a-QVZW__stepPop{fill:currentColor;fill-opacity:.85;transform-origin:50% 100%;transform:scaleY(calc(.22 + clamp(0, calc(var(--gp) * 1.5 - var(--i) * .12), 1) * .78))}.Glyph-module__a-QVZW__stepPop{fill:var(--pop);fill-opacity:1}.Glyph-module__a-QVZW__rider{fill:var(--accent);transform:translate(calc(var(--gp) * 144px), calc(var(--gp) * -96px));animation:2.6s ease-in-out infinite alternate Glyph-module__a-QVZW__bob}@keyframes Glyph-module__a-QVZW__bob{0%{translate:0}to{translate:0 -4px}}@media (prefers-reduced-motion:reduce){.Glyph-module__a-QVZW__glyph{--gp:1}.Glyph-module__a-QVZW__glyph,.Glyph-module__a-QVZW__breathe,.Glyph-module__a-QVZW__roomBlink,.Glyph-module__a-QVZW__cellPop,.Glyph-module__a-QVZW__stroke,.Glyph-module__a-QVZW__strokeLead,.Glyph-module__a-QVZW__rider{animation:none}.Glyph-module__a-QVZW__strokeLead{transform:rotate(90deg)}}
.About-module__S-Ka5a__about{--about-gutter:clamp(1.5rem, 6vw, 6rem);width:100%;position:relative}.About-module__S-Ka5a__panels{width:calc(100% - var(--about-gutter) * 2);max-width:calc(var(--page-max-width) + var(--about-gutter) * 2);flex-direction:column;gap:clamp(1.25rem,4svh,2.5rem);margin-inline:auto;padding-bottom:clamp(4rem,10svh,7rem);display:flex}.About-module__S-Ka5a__panel{--p:0;--block-bg:var(--spore-bg);--block-fg:var(--spore-ink);--block-muted:var(--spore-ink-muted);--block-accent:var(--spore-accent);--block-pop:var(--spore-hue-2);--spore-rule:color-mix(in oklab, var(--block-accent) 28%, transparent);width:100%;min-height:50svh;color:var(--block-fg);grid-template-columns:minmax(14rem,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,4.5vw,3.6rem) clamp(1.6rem,4vw,3.2rem);display:grid;position:relative}.About-module__S-Ka5a__figure,.About-module__S-Ka5a__paragraph{z-index:1;position:relative}.About-module__S-Ka5a__panel[data-flip=true]{grid-template-columns:minmax(0,1.2fr) minmax(14rem,.8fr)}.About-module__S-Ka5a__panel[data-flip=true] .About-module__S-Ka5a__figure{order:2}.About-module__S-Ka5a__figure{transform:translate3d(0, calc((1 - var(--p)) * 1.6rem), 0);place-items:center;display:grid}.About-module__S-Ka5a__glyph{width:clamp(11rem,26vw,19rem);filter:drop-shadow(0 18px 40px color-mix(in oklab, var(--block-fg) 14%, transparent))}.About-module__S-Ka5a__paragraph{font-variation-settings:"wght" 400;letter-spacing:-.002em;text-wrap:pretty;max-width:34ch;font-size:clamp(1.32rem,2.05vw,1.8rem);font-weight:400;line-height:1.46}.About-module__S-Ka5a__colophon{width:calc(100% - var(--about-gutter) * 2);min-height:35svh;padding-block:clamp(4rem, 12vh, 9rem) max(6rem, calc(env(safe-area-inset-bottom) + 5rem));flex-direction:column;align-items:center;margin-inline:auto;display:flex}.About-module__S-Ka5a__screenReader{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:760px){.About-module__S-Ka5a__panel,.About-module__S-Ka5a__panel[data-flip=true]{grid-template-columns:1fr;align-content:center;gap:2rem;padding:2rem 1.4rem 1.8rem}.About-module__S-Ka5a__panel[data-flip=true] .About-module__S-Ka5a__figure{order:0}.About-module__S-Ka5a__figure{justify-items:start}.About-module__S-Ka5a__glyph{width:clamp(8rem,40vw,11rem)}}@media (prefers-reduced-motion:reduce){.About-module__S-Ka5a__panel{--p:1}.About-module__S-Ka5a__figure{transform:none}}
.control-module__wZxfFW__control{border:1px solid var(--spore-rule);height:38px;color:var(--spore-ink);cursor:pointer;transition:background-color .35s ease, border-color .35s ease, color .35s ease, transform .35s var(--spore-ease);background:0 0;border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.control-module__wZxfFW__control:hover{background-color:color-mix(in oklab, var(--spore-ink) 8%, transparent)}.control-module__wZxfFW__control:active{transform:scale(.93)}@media (prefers-reduced-motion:reduce){.control-module__wZxfFW__control{transition:none}}
.ElsewhereLink-module__j4bkia__link{font-family:var(--spore-font-mark);letter-spacing:.01em;gap:9px;padding:0 15px 0 13px;font-size:.95rem;font-weight:900;text-decoration:none;}.ElsewhereLink-module__j4bkia__link:hover,.ElsewhereLink-module__j4bkia__link:focus-visible{color:var(--spore-accent);border-color:color-mix(in oklab, var(--spore-accent) 45%, transparent)}.ElsewhereLink-module__j4bkia__icon{flex:none;width:17px;height:17px;display:block}.ElsewhereLink-module__j4bkia__icon svg,.ElsewhereLink-module__j4bkia__icon img{width:100%;height:100%;display:block}.ElsewhereLink-module__j4bkia__icon img{border-radius:4px}
.link-module__S0NuqW__link{color:var(--spore-accent);transition:background-size .55s var(--spore-ease);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% max(.075em,2px),100% max(.028em,1px);text-decoration:none}.link-module__S0NuqW__link:hover,.link-module__S0NuqW__link:focus-visible{background-size:100% max(.075em,2px),100% max(.028em,1px)}@media (prefers-reduced-motion:reduce){.link-module__S0NuqW__link{transition:none}}
.ReactiveSentence-module__-e8zIq__sentence{letter-spacing:-.004em;text-wrap:pretty;font-variation-settings:"wght" 400;max-width:26ch;font-size:clamp(1.7rem,4.4vw,3.4rem);line-height:1.28}.ReactiveSentence-module__-e8zIq__word{white-space:nowrap;text-align:center;display:inline-block}.ReactiveSentence-module__-e8zIq__char{font-variation-settings:inherit;transform-origin:50% 68%;display:inline-block}@media (prefers-reduced-motion:no-preference){.ReactiveSentence-module__-e8zIq__sentence[data-state=entering] .ReactiveSentence-module__-e8zIq__char{animation:ReactiveSentence-module__-e8zIq__charIn var(--enter-duration) var(--spore-ease) both;animation-delay:calc(var(--i) * var(--enter-stagger))}}@keyframes ReactiveSentence-module__-e8zIq__charIn{0%{opacity:0;transform:translateY(.42em)}to{opacity:1;transform:translate(0,0)}}.ReactiveSentence-module__-e8zIq__link{}
.page-module___8aEwW__page{--gutter:clamp(1.5rem, 6vw, 6rem);--hero-gap:clamp(1.5rem, 15svh, 9rem);--hero-inset-x:var(--gutter);--hero-radius:24px;z-index:1;min-height:100svh;position:relative}.page-module___8aEwW__hero{padding-top:var(--hero-gap);padding-inline:var(--hero-inset-x);padding-bottom:clamp(1.75rem,5svh,3rem)}.page-module___8aEwW__heroCard{border-radius:var(--hero-radius);background:#1f4b65;background:lab(29.8798% -9.05231 -19.5728);flex-direction:column;justify-content:center;min-height:max(20rem,56svh);padding:clamp(1.75rem,4.5vw,3.75rem);display:flex;position:relative;overflow:hidden}.page-module___8aEwW__content{z-index:1;max-width:var(--page-max-width);text-align:center;flex-direction:column;align-items:center;width:100%;margin-inline:auto;display:flex;position:relative}.page-module___8aEwW__elsewhere{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:clamp(2rem,6vh,3.5rem);display:flex}@media (prefers-reduced-motion:no-preference){.page-module___8aEwW__elsewhere>*{animation:page-module___8aEwW__rise .9s var(--spore-ease) both;animation-delay:calc(1.25s + var(--i,0) * .2s)}.page-module___8aEwW__elsewhere>:first-child{--i:0}.page-module___8aEwW__elsewhere>:nth-child(2){--i:1}.page-module___8aEwW__elsewhere>:nth-child(3){--i:2}}@keyframes page-module___8aEwW__rise{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translate(0,0)}}
