.S6Hkya_footer{height:auto;min-height:70px;padding:15px var(--desktop-padding);text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:1400px;margin:0 auto;display:flex}@media (max-width:1080px){.S6Hkya_footer{padding:15px var(--tablet-padding)}}@media (max-width:480px){.S6Hkya_footer{padding:15px var(--mobile-padding)}}.S6Hkya_social{display:none}@media (max-width:768px){.S6Hkya_social{width:100%;max-width:270px;color:var(--light-slate);margin:0 auto 10px;display:block}}.S6Hkya_social ul{justify-content:space-between;align-items:center;margin:0;padding:0;list-style:none;display:flex}.S6Hkya_social a{padding:10px}.S6Hkya_social svg{width:20px;height:20px}.S6Hkya_credit{color:var(--light-slate);font-family:var(--font-mono);font-size:var(--fz-xxs);line-height:1}.S6Hkya_credit a,.S6Hkya_credit span{padding:10px}
.gOObGW_header{z-index:11;width:100%;height:var(--nav-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition);background-color:#0a192fd9;justify-content:space-between;align-items:center;padding:0 50px;display:flex;position:fixed;top:0;filter:none!important;pointer-events:auto!important;-webkit-user-select:auto!important;user-select:auto!important}@media (prefers-reduced-motion:no-preference){.gOObGW_header{animation:gOObGW_fadedown .6s var(--easing) both}.gOObGW_header[data-direction=up][data-top=false]{height:var(--nav-scroll-height);box-shadow:0 10px 30px -10px var(--navy-shadow);transform:translateY(0)}.gOObGW_header[data-direction=down][data-top=false]{height:var(--nav-scroll-height);transform:translateY(calc(var(--nav-scroll-height) * -1));box-shadow:0 10px 30px -10px var(--navy-shadow)}}@media (max-width:1080px){.gOObGW_header{padding:0 40px}}@media (max-width:768px){.gOObGW_header{padding:0 25px}}.gOObGW_nav{width:100%;color:var(--lightest-slate);font-family:var(--font-mono);counter-reset:item 0;z-index:12;justify-content:space-between;align-items:center;display:flex;position:relative}.gOObGW_logo{justify-content:center;align-items:center;display:flex}.gOObGW_logo a{color:var(--green);z-index:1;width:42px;height:42px;position:relative}.gOObGW_hex{z-index:-1;position:absolute;top:0;left:0}.gOObGW_mark{z-index:1;position:relative}.gOObGW_mark svg{fill:none;-webkit-user-select:none;user-select:none}.gOObGW_mark polygon{fill:var(--navy)}@media (prefers-reduced-motion:no-preference){.gOObGW_hex,.gOObGW_mark svg{transition:var(--transition)}}.gOObGW_logo a:hover,.gOObGW_logo a:focus{outline:0;transform:translate(-4px,-4px)}.gOObGW_logo a:hover .gOObGW_hex,.gOObGW_logo a:focus .gOObGW_hex{transform:translate(4px,3px)}.gOObGW_links{align-items:center;display:flex}@media (max-width:768px){.gOObGW_links{display:none}}.gOObGW_links ol{justify-content:space-between;align-items:center;margin:0;padding:0;list-style:none;display:flex}.gOObGW_links li{counter-increment:item 1;font-size:var(--fz-xs);margin:0 5px;position:relative}.gOObGW_links li a{padding:10px}.gOObGW_links li a:before{content:"0" counter(item) ".";color:var(--green);font-size:var(--fz-xxs);text-align:right;margin-right:5px}.gOObGW_resume{font-size:var(--fz-xs);margin-left:15px}.gOObGW_menu{display:none}@media (max-width:768px){.gOObGW_menu{display:block}}.gOObGW_hamburger{display:none}@media (max-width:768px){.gOObGW_hamburger{z-index:10;color:inherit;text-transform:none;background-color:#0000;border:0;justify-content:center;align-items:center;margin-right:-15px;padding:15px;display:flex;position:relative}}.gOObGW_box{width:var(--hamburger-width);height:24px;display:inline-block;position:relative}.gOObGW_inner,.gOObGW_inner:before,.gOObGW_inner:after{border-radius:var(--border-radius);background-color:var(--green);height:2px;position:absolute;right:0}.gOObGW_inner{width:var(--hamburger-width);transition:transform .22s cubic-bezier(.55,.055,.675,.19);top:50%}.gOObGW_inner:before,.gOObGW_inner:after{content:"";transition:top .1s ease-in .25s,bottom .1s ease-in .25s,opacity .1s ease-in,transform .22s;display:block;left:auto}.gOObGW_inner:before{width:120%;top:-10px}.gOObGW_inner:after{width:80%;bottom:-10px}.gOObGW_hamburger[data-open=true] .gOObGW_inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(225deg)}.gOObGW_hamburger[data-open=true] .gOObGW_inner:before{opacity:0;width:100%;top:0}.gOObGW_hamburger[data-open=true] .gOObGW_inner:after{width:100%;bottom:0;transform:rotate(-90deg)}.gOObGW_sidebar{display:none}@media (max-width:768px){.gOObGW_sidebar{background-color:var(--light-navy);width:min(75vw,400px);height:100vh;box-shadow:-10px 0 30px -15px var(--navy-shadow);z-index:9;visibility:hidden;transition:var(--transition);outline:0;justify-content:center;align-items:center;padding:50px 10px;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100vw)}.gOObGW_sidebar[data-open=true]{visibility:visible;transform:translate(0)}}.gOObGW_sidebar nav{width:100%;color:var(--lightest-slate);font-family:var(--font-mono);text-align:center;counter-reset:item 0;flex-direction:column;justify-content:space-between;align-items:center;display:flex}.gOObGW_sidebar ol{width:100%;margin:0;padding:0;list-style:none}.gOObGW_sidebar li{counter-increment:item 1;font-size:clamp(var(--fz-sm), 4vw, var(--fz-lg));margin:0 auto 20px;position:relative}@media (max-width:600px){.gOObGW_sidebar li{margin:0 auto 10px}}.gOObGW_sidebar li:before{content:"0" counter(item) ".";color:var(--green);font-size:var(--fz-sm);margin-bottom:5px;display:block}.gOObGW_sidebar li a{width:100%;padding:3px 20px 20px}.gOObGW_resumeLink{width:max-content;margin:10% auto 0;padding:18px 50px}
@font-face{font-family:Calibre;src:url(/fonts/Calibre/Calibre-Regular.woff2)format("woff2"),url(/fonts/Calibre/Calibre-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Calibre;src:url(/fonts/Calibre/Calibre-RegularItalic.woff2)format("woff2"),url(/fonts/Calibre/Calibre-RegularItalic.woff)format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Calibre;src:url(/fonts/Calibre/Calibre-Medium.woff2)format("woff2"),url(/fonts/Calibre/Calibre-Medium.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Calibre;src:url(/fonts/Calibre/Calibre-MediumItalic.woff2)format("woff2"),url(/fonts/Calibre/Calibre-MediumItalic.woff)format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Calibre;src:url(/fonts/Calibre/Calibre-Semibold.woff2)format("woff2"),url(/fonts/Calibre/Calibre-Semibold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Calibre;src:url(/fonts/Calibre/Calibre-SemiboldItalic.woff2)format("woff2"),url(/fonts/Calibre/Calibre-SemiboldItalic.woff)format("woff");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:SF Mono;src:url(/fonts/SFMono/SFMono-Regular.woff2)format("woff2"),url(/fonts/SFMono/SFMono-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Mono;src:url(/fonts/SFMono/SFMono-RegularItalic.woff2)format("woff2"),url(/fonts/SFMono/SFMono-RegularItalic.woff)format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:SF Mono;src:url(/fonts/SFMono/SFMono-Semibold.woff2)format("woff2"),url(/fonts/SFMono/SFMono-Semibold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Mono;src:url(/fonts/SFMono/SFMono-SemiboldItalic.woff2)format("woff2"),url(/fonts/SFMono/SFMono-SemiboldItalic.woff)format("woff");font-weight:600;font-style:italic;font-display:swap}
:root{--dark-navy:#020c1b;--navy:#0a192f;--light-navy:#112240;--lightest-navy:#233554;--navy-shadow:#020c1bb3;--dark-slate:#495670;--slate:#8892b0;--light-slate:#a8b2d1;--lightest-slate:#ccd6f6;--white:#e6f1ff;--green:#64ffda;--green-tint:#64ffda1a;--pink:#f57dff;--blue:#57cbff;--font-sans:"Calibre", "Inter", "San Francisco", "SF Pro Text", -apple-system, system-ui, sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--fz-xxs:12px;--fz-xs:13px;--fz-sm:14px;--fz-md:16px;--fz-lg:18px;--fz-xl:20px;--fz-xxl:22px;--fz-heading:32px;--border-radius:4px;--nav-height:100px;--nav-scroll-height:70px;--tab-height:42px;--tab-width:120px;--easing:cubic-bezier(.645, .045, .355, 1);--transition:all .25s cubic-bezier(.645, .045, .355, 1);--hamburger-width:30px;--mobile-padding:20px;--tablet-padding:60px;--desktop-padding:120px}html{box-sizing:border-box;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--dark-slate) var(--navy);width:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}*,:before,:after{box-sizing:inherit}::selection{background-color:var(--lightest-navy);color:var(--lightest-slate)}:focus{outline:2px dashed var(--green);outline-offset:3px}:focus:not(:focus-visible){outline-offset:0;outline:none}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--navy)}::-webkit-scrollbar-thumb{background-color:var(--dark-slate);border:3px solid var(--navy);border-radius:10px}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;background-color:var(--navy);width:100%;min-height:100%;color:var(--slate);font-family:var(--font-sans);font-size:var(--fz-xl);margin:0;line-height:1.3;overflow-x:hidden}@media (max-width:480px){body{font-size:var(--fz-lg)}}body.menu-open{overflow:hidden}body.menu-open #content>*{filter:blur(5px)brightness(.7);transition:var(--transition);pointer-events:none;-webkit-user-select:none;user-select:none}main{width:100%;max-width:1600px;min-height:100vh;margin:0 auto;padding:200px 150px}main.fill-height{padding:0 150px}@media (max-width:1080px){main{padding:200px 100px}main.fill-height{padding:0 100px}}@media (max-width:768px){main{padding:150px 50px}main.fill-height{padding:0 50px}}@media (max-width:480px){main{padding:125px 25px}main.fill-height{padding:0 25px}}section{max-width:1000px;margin:0 auto;padding:100px 0}@media (max-width:768px){section{padding:80px 0}}@media (max-width:480px){section{padding:60px 0}}h1,h2,h3,h4,h5,h6{color:var(--lightest-slate);margin:0 0 10px;font-weight:600;line-height:1.1}.big-heading{margin:0;font-size:clamp(40px,8vw,80px)}.medium-heading{margin:0;font-size:clamp(40px,8vw,60px)}#content{counter-reset:section}.numbered-heading{width:100%;font-size:clamp(26px, 5vw, var(--fz-heading));white-space:nowrap;align-items:center;margin:10px 0 40px;display:flex;position:relative}.numbered-heading:before{counter-increment:section;content:"0" counter(section) ".";color:var(--green);font-family:var(--font-mono);font-size:clamp(var(--fz-md), 3vw, var(--fz-xl));margin-right:10px;font-weight:400;position:relative;bottom:4px}.numbered-heading:after{content:"";background-color:var(--lightest-navy);width:300px;height:1px;margin-left:20px;display:block;position:relative;top:-5px}@media (max-width:1080px){.numbered-heading:after{width:200px}}@media (max-width:768px){.numbered-heading:after{width:100%}}@media (max-width:600px){.numbered-heading:after{margin-left:10px}}@media (max-width:480px){.numbered-heading{justify-content:center}.numbered-heading:before{margin-bottom:-3px;margin-right:5px}}img,svg{vertical-align:middle;width:100%;max-width:100%}svg{fill:currentColor;height:100%}svg.feather{fill:none}a{text-decoration-skip-ink:auto;color:inherit;transition:var(--transition);text-decoration:none;display:inline-block;position:relative}a:hover,a:focus{color:var(--green)}button{cursor:pointer;border:0;border-radius:0}p{margin:0 0 15px}p:last-child{margin:0}p>code{background-color:var(--light-navy);color:var(--white);font-size:var(--fz-sm);border-radius:var(--border-radius);padding:.3em .5em}code{font-family:var(--font-mono);font-size:var(--fz-md)}ul.fancy-list{font-size:var(--fz-lg);margin:0;padding:0;list-style:none}ul.fancy-list li{margin-bottom:10px;padding-left:30px;position:relative}ul.fancy-list li:before{content:"▹";color:var(--green);position:absolute;left:0}.inline-link,p>a{color:var(--green);transition:var(--transition);display:inline-block;position:relative}.inline-link:hover,.inline-link:focus-visible,p>a:hover,p>a:focus-visible{color:var(--green);outline:0}.inline-link:after,p>a:after{content:"";background-color:var(--green);opacity:.5;width:0;height:1px;display:block;position:relative;bottom:.37em}@media (prefers-reduced-motion:no-preference){.inline-link:after,p>a:after{transition:var(--transition)}}.inline-link:hover:after,.inline-link:focus-visible:after,p>a:hover:after,p>a:focus-visible:after{width:100%}.button,.big-button,.small-button{color:var(--green);border:1px solid var(--green);border-radius:var(--border-radius);font-family:var(--font-mono);transition:var(--transition);background-color:#0000;line-height:1;text-decoration:none}.button{font-size:var(--fz-xs);padding:1.25rem 1.75rem}.big-button{font-size:var(--fz-sm);padding:1.25rem 1.75rem}.small-button{font-size:var(--fz-xs);padding:.75rem 1rem}.button:hover,.button:focus-visible,.big-button:hover,.big-button:focus-visible{box-shadow:4px 4px 0 0 var(--green);outline:none;transform:translate(-5px,-5px)}.small-button:hover,.small-button:focus-visible{box-shadow:3px 3px 0 0 var(--green);outline:none;transform:translate(-4px,-4px)}.button:after,.big-button:after,.small-button:after{display:none!important}.skip-to-content{z-index:-99;width:1px;height:1px;color:var(--green);font-family:var(--font-mono);font-size:var(--fz-xs);position:absolute;top:auto;left:-999px;overflow:hidden}.skip-to-content:hover,.skip-to-content:focus{background-color:var(--green);color:var(--navy);z-index:99;width:auto;height:auto;padding:1rem 1.5rem;top:0;left:0;overflow:auto}.overline{color:var(--green);font-family:var(--font-mono);font-size:var(--fz-md);font-weight:400}.subtitle{color:var(--green);font-size:var(--fz-md);font-family:var(--font-mono);margin:0 0 20px;font-weight:400;line-height:1.5}@media (max-width:1080px){.subtitle{font-size:var(--fz-sm)}}@media (max-width:768px){.subtitle{font-size:var(--fz-xs)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeup{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadedown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}
html[data-ui] img:not([data-keep-color]){filter:grayscale()}html[data-theme=dark]{--dark-navy:#000;--navy:#000;--light-navy:#0e0e0e;--lightest-navy:#2b2b2b;--navy-shadow:#000000b3;--dark-slate:#6b6b6b;--slate:#a6a6a6;--light-slate:#c8c8c8;--lightest-slate:#fff;--white:#fff;--green:#fff;--green-tint:#ffffff1a;--pink:#fff;--blue:#fff;--on-accent:#000;--header-bg:#000000d9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--dark-navy:#f2f2f2;--navy:#fff;--light-navy:#f6f6f6;--lightest-navy:#d4d4d4;--navy-shadow:#0000001f;--dark-slate:#7a7a7a;--slate:#4a4a4a;--light-slate:#2a2a2a;--lightest-slate:#000;--white:#000;--green:#000;--green-tint:#00000012;--pink:#000;--blue:#000;--on-accent:#fff;--header-bg:#ffffffe0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-ui]{scrollbar-color:var(--dark-slate) var(--navy)}html[data-ui] body{background:var(--navy);color:var(--slate)}html[data-ui] #content>main section[id=demo],html[data-ui] #content>main section[id=contact],html[data-ui] #content>main section[id=recommendations]{max-width:none}html[data-ui=v1] header{background-color:var(--header-bg)}html[data-ui=v2]{--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-sans:-apple-system, "Segoe UI", system-ui, "Helvetica Neue", sans-serif}html[data-ui=v3]{--font-display:"SF Mono", "Fira Code", "Roboto Mono", ui-monospace, Menlo, monospace;--font-sans:var(--font-display);--font-mono:var(--font-display);--brand-prefix:"~/ ";--hdr-border:1px;--hdr-radius:0}html[data-ui=v4]{--font-display:"Helvetica Neue", Helvetica, Arial, "Arial Black", sans-serif;--font-sans:var(--font-display);--hdr-border:4px;--hdr-border-color:var(--lightest-slate);--hdr-transform:uppercase;--hdr-weight:800;--border-radius:0}html[data-ui=v5]{--font-display:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-sans:var(--font-display);--hdr-border:1px}html[data-ui=v5]:has([data-split])>body>header{display:none}
