body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:monospace}section{margin:0 auto;max-width:900px;padding:4rem 2rem}@media (max-width:768px){section{padding:2rem 1rem}}.app-layout{display:flex}.main-content{margin-left:8rem;padding-bottom:4rem;padding-top:6rem;width:100%}@media (max-width:768px){.side-nav{display:none}.main-content{margin-left:0;padding-top:4rem}}:root{--font-sans:"IBM Plex Mono",monospace}body{background-color:#c8c8c8;color:#111;line-height:1.6;margin:0}body,h1{font-family:IBM Plex Mono,monospace;font-family:var(--font-sans)}h1{font-size:3rem;font-weight:700;line-height:1.1}h2{font-size:42px;font-weight:500;margin-bottom:1rem}h2,h3{font-family:IBM Plex Mono,monospace;font-family:var(--font-sans)}h3{font-size:1.5rem;font-weight:600}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}li,p{font-size:.95rem}}li,p{color:#333;font-size:1rem;line-height:1.3}.red-title,li,p{font-family:IBM Plex Mono,monospace;font-family:var(--font-sans)}.red-title{color:#872222;font-size:16px;font-weight:400}.blink-square{animation:blink 1.6s infinite;background-color:#872222;border-radius:2px;display:inline-block;height:8px;margin-left:0;width:8px}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.hero-title{align-items:baseline;display:flex;gap:1rem;margin:0}.global-section{--font-sans:"IBM Plex Mono",monospace;margin-bottom:5rem}.App{text-align:center}.loading{align-items:center;color:#666;display:flex;font-family:var(--font-sans);font-size:1.2rem;justify-content:center;min-height:400px}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.side-nav{--font-sans:"IBM Plex Mono",monospace;background-color:#e0d8c3;box-shadow:2px 0 6px #00000014;flex-direction:column;height:700px;justify-content:space-between;left:0;padding:2rem 1rem;position:fixed;top:0;width:200px;z-index:1000}.desktop-nav,.side-nav{display:flex}.mobile-nav{display:none}.side-nav-top{display:flex;flex-direction:column}.nav-name{font-size:1rem;font-weight:700;margin-bottom:8rem;margin-left:2rem}.nav-links{list-style:none;margin:0 0 0 2rem;padding:0}.nav-links li{margin-bottom:1rem}.nav-link-btn,.nav-links a{align-items:center;color:#555;cursor:pointer;display:flex;font-size:1rem;font-weight:500;position:relative;text-decoration:none}.nav-link-btn{background:none;border:none;font-family:inherit;padding:0;text-align:left;width:100%}.nav-link-btn.active,.nav-links a.active{color:#c73232;font-weight:600}.expand-icon{cursor:pointer;font-size:.7rem;margin-left:auto;padding:.25rem;transition:transform .3s ease}.sub-nav-links{list-style:none;margin:.5rem 0 1rem 1.5rem;padding:0}.sub-nav-links li{margin-bottom:.5rem}.sub-nav-links a{color:#666;font-size:.9rem;font-weight:400}.sub-nav-links a.active{color:#c73232;font-weight:600}.nav-links .dash{margin-right:.25rem}.side-nav-btn-container{display:flex;flex-direction:column;gap:1rem}.side-nav-buttons{display:flex;flex-direction:row;gap:.5rem;justify-content:right;margin-bottom:.5rem;margin-top:.5rem}.side-nav-button-contact{bottom:6rem;right:1rem}.bottom-btn-icon{align-items:center;background-color:#131212;border-radius:50%;color:#dacba6;display:inline-flex;height:36px;justify-content:center;text-decoration:none;transition:background .2s ease,transform .1s ease,box-shadow .2s ease;width:36px}.bottom-btn-icon:hover{background-color:#e0c06e;box-shadow:0 3px 6px #0000001f;color:#333;transform:translateY(-2px)}.bottom-btn-icon svg{height:18px;width:18px}.mobile-header{display:none}.mobile-name{color:#2c2c2c;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:700}.mobile-menu-toggle{align-items:center;background:#e0d8c3;border:none;border-radius:8px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:none;flex-direction:column;gap:6px;height:50px;justify-content:center;position:fixed;right:1.5rem;top:1.5rem;transition:all .3s ease;width:50px;z-index:1001}.mobile-menu-toggle span{background-color:#c73232;border-radius:2px;display:block;height:3px;transition:all .3s ease;width:25px}.mobile-menu-toggle:hover{transform:scale(1.05)}@media (max-width:768px){.desktop-nav{display:none}.mobile-header{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(43,32%,82%,.248);box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;left:0;padding:1.5rem;position:fixed;right:0;top:0;z-index:1001}.mobile-menu-toggle{display:flex;position:relative;right:auto;top:auto}.mobile-nav{box-shadow:-2px 0 6px #00000014;display:flex;height:100vh;left:auto;overflow-y:auto;padding:2rem 1rem 5rem;right:0;transform:translateX(100%);transition:transform .3s ease;width:280px}.mobile-nav.mobile-open{transform:translateX(0)}.nav-name{margin-bottom:3rem}.side-nav-btn-container{margin-top:auto;padding-bottom:3rem}.side-nav-buttons{display:flex!important;justify-content:center;opacity:1!important;visibility:visible!important}.bottom-btn-icon{display:inline-flex!important}}.btn{align-items:center;background-color:#c73232;border:none;border-radius:9999px;box-shadow:0 3px 6px #0000001f;color:#fff;cursor:pointer;display:inline-flex;font-family:monospace;font-size:.9rem;font-weight:600;gap:.5rem;padding:.3rem .8rem;text-decoration:none;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease;width:120px}.btn:focus,.btn:hover{background-color:#c73232;box-shadow:0 5px 12px #00000029;transform:translateY(-2px)}.btn:active{box-shadow:0 3px 6px #0000001f;transform:translateY(0)}.btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.btn-icon{height:1rem;width:1rem}@media (max-width:768px){.btn{font-size:1rem;min-height:44px;padding:.5rem 1rem;white-space:nowrap;width:auto}}.skills-section{--font-sans:"IBM Plex Mono",monospace;margin-bottom:5rem}.skills-section h2{font-size:2rem;margin-bottom:2rem}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width:768px){.skills-grid{gap:1.5rem;grid-template-columns:1fr}}.skills-group h3{color:#111;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.skills-group ul{list-style:none;margin:0;padding:0}.skills-group li{color:#444;font-size:.95rem;padding:.3rem 0}.skills-group ul{display:flex;flex-wrap:wrap;gap:.5rem}.skills-group li{background:#f3f3f3;border-radius:9999px;font-size:.85rem;padding:.35rem .6rem}.skills-group li:hover{color:#111}.experience-card{--font-sans:"IBM Plex Mono",monospace;border:1px solid #424242;border-radius:12px;margin-bottom:2rem;padding:1.5rem}@media (max-width:768px){.experience-card{margin-bottom:1.5rem;padding:1rem}}.experience-header,.location{--font-sans:"IBM Plex Mono",monospace;align-items:baseline;display:flex;gap:1rem;justify-content:space-between}.title{color:#c73232;font-weight:500}.company{color:#2c2c2c;font-weight:600}.dates{color:#2c2c2c;font-size:.9rem;font-weight:400;white-space:nowrap}@media (max-width:768px){.experience-header,.location{align-items:flex-start;flex-direction:column;gap:.25rem}.dates{font-size:.85rem;white-space:normal}}.experience-category{--font-sans:"IBM Plex Mono",monospace;margin-top:1.25rem}.experience-category h4{font-weight:600;margin-bottom:.5rem}.experience-category li{line-height:1.5;margin-bottom:.4rem}.experience-category{border-radius:8px;margin-top:1rem}.experience-category summary{align-items:center;cursor:pointer;display:flex;font-family:inherit;font-weight:600;gap:.5rem;list-style:none}.experience-category summary::-webkit-details-marker{display:none}.experience-category summary h4{font-weight:600;margin:0}.experience-category summary:before{content:"▸";display:inline-block;line-height:1;transition:transform .2s ease}.experience-category[open] summary:before{transform:rotate(90deg)}.experience-category ul{font-weight:400;line-height:1.5;margin-top:.75rem;padding-left:1.25rem}.ref-title{font-size:.9rem;font-weight:500;line-height:1.2;margin:0}.ref-name{color:#c73232;margin:.25rem 0 0}.ref-card{--font-sans:"IBM Plex Mono",monospace;border:1px solid #424242;border-radius:12px;margin-bottom:2rem;padding:1.5rem}@media (max-width:768px){.ref-card{margin-bottom:1.5rem;padding:1rem}}
/*# sourceMappingURL=main.2e6d44b0.css.map*/