html,body{background:#101826;min-height:100%}html.blueprint-mode,body.blueprint-mode{background:#06345c}.app-container{isolation:isolate;background:#080e1847;flex-direction:column;min-height:100vh;display:flex;position:relative}.blueprint-mode .app-container{background:#04182e47}.content{flex:1;padding-top:5rem}:focus-visible{outline-offset:3px!important;outline:3px solid #ffdd57!important;box-shadow:0 0 0 2px #0b4fa3!important}.skip-link{color:#0b4fa3;z-index:2000;background:#fff;border:2px solid #0b4fa3;padding:.65rem .9rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{color:#0b4fa3;outline-offset:2px;outline:3px solid #ffdd57;transform:translateY(0)}.route-loading{color:#fff;text-align:center;min-height:12rem;padding:3rem 1rem}.parallax{height:auto;position:relative;overflow:hidden}.parallax:before{content:"";z-index:-1;background-image:linear-gradient(#080e182e,#080e1847),url(/assets/Design-Ciclmp1L.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.blueprint-mode .parallax:before{background-color:#0a3e6e;background-image:linear-gradient(#ffffff2e 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px),linear-gradient(#9cd9ff1a 1px,#0000 1px),linear-gradient(90deg,#9cd9ff1a 1px,#0000 1px),linear-gradient(135deg,#ffffff1a 0,#ffffff05 22%,#0000 22% 74%,#ffffff14 74% 75%,#0000 75%),radial-gradient(circle at 72% 18%,#0000 0 4.2rem,#ffffff29 4.25rem 4.32rem,#0000 4.38rem),linear-gradient(160deg,#07305a 0%,#0f5088 48%,#082b50 100%);background-position:0 0,0 0,0 0,0 0,50%,50%,50%;background-repeat:repeat,repeat,repeat,repeat,repeat,no-repeat,no-repeat;background-size:5rem 5rem,5rem 5rem,1.25rem 1.25rem,1.25rem 1.25rem,14rem 14rem,34rem 34rem,cover}@media (width<=768px){.parallax:before{background-position:50% -13svh;background-repeat:no-repeat;background-size:auto 150svh;height:max(100svh,100%);position:absolute}.blueprint-mode .parallax:before{background-position:0 0,0 0,0 0,0 0,top,72% 4rem,50%;background-size:4rem 4rem,4rem 4rem,1rem 1rem,1rem 1rem,12rem 12rem,22rem 22rem,cover}}.header-content{color:#fff;text-align:center;text-shadow:2px 2px 4px #000000b3;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.header-subtitle{font-size:1.5rem;font-weight:300}footer{color:#fff;text-align:center;background:linear-gradient(45deg,#6c757d,#343a40);margin-top:auto;padding:1rem 0}.sticky{z-index:100;position:sticky;top:0}.sticky-wrapper{height:3rem;position:relative}.sticky .sticky-inner{z-index:1;position:fixed;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}header{top:0;left:0;right:0}.navbar{color:#fff;background:linear-gradient(45deg,#007bff,#0056b3);padding:1rem;transition:background .3s}.navbar:hover{background:linear-gradient(45deg,#0056b3,#007bff)}.navbar-brand{color:#ffdd57;font-size:1.8rem;font-weight:700;transition:color .3s,transform .3s;position:relative;overflow:hidden}.navbar-brand:before{content:"";visibility:hidden;background-color:#ffdd57;width:100%;height:2px;transition:all .3s ease-in-out;position:absolute;bottom:0;left:0;transform:scaleX(0)}.navbar-brand:hover:before{visibility:visible;transform:scaleX(1)}.navbar-brand:hover{color:#ffc107;transform:scale(1.1)}.navbar-brand.brand-ping{animation:1.25s ease-out brandPing}.navbar-nav .nav-link{color:#fff;margin-right:1.5rem;font-size:1.2rem;transition:color .3s,transform .3s}.navbar-nav .nav-link:hover{color:#ffdd57;transform:scale(1.1)}.resume-nav-direct{display:contents}.resume-nav-menu{display:none;position:relative}.resume-nav-toggle{background:0 0;border:0;align-items:center;gap:.35rem;padding:.5rem 0;display:inline-flex}.resume-nav-toggle:focus{color:#ffdd57;outline:none}.resume-nav-chevron{border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;margin-top:-.2rem;transition:transform .18s;transform:rotate(45deg)}.resume-nav-menu.open .resume-nav-chevron{margin-top:.2rem;transform:rotate(225deg)}.resume-nav-dropdown{z-index:1050;background:#0b4fa3;border:1px solid #ffffff2e;border-radius:.45rem;min-width:13rem;padding:.45rem;display:none;position:absolute;top:calc(100% + .35rem);box-shadow:0 12px 24px #0000003d}.resume-nav-menu.open .resume-nav-dropdown{gap:.2rem;display:grid}.resume-nav-dropdown-link{color:#fff;white-space:nowrap;border-radius:.32rem;padding:.5rem .6rem;font-size:.95rem;font-weight:700;text-decoration:none}.resume-nav-dropdown-link:hover,.resume-nav-dropdown-link:focus{color:#ffdd57;background:#ffdd572e;outline:none;text-decoration:none}.resume-nav-menu.active .resume-nav-toggle{color:#ffdd57}@media (width>=992px) and (width<=1199px){.resume-nav-direct{display:none}.resume-nav-menu{display:block}}@media (width<=991px){.resume-nav-direct{display:block}.resume-nav-menu{display:none}.navbar-nav .nav-link{margin-right:0}}.btn-primary{color:#0056b3;background-color:#ffdd57;border:none;transition:background-color .3s,transform .3s}.btn-primary:hover{background-color:#ffc107;transform:scale(1.1)}.social-icons{align-items:center;display:flex}.social-icon{transition:transform .3s}.social-icon-large{width:50px;height:50px}.social-icon-margin{margin-right:20px}.social-icon:hover{transform:scale(1.1)}.linkedin{color:#fff;background-color:#0a66c2;border-radius:50%;padding:.1em}.github{color:#fff;background-color:#333;border-radius:50%;padding:.1em}.request-contact-info-btn{margin-right:20px!important}@keyframes brandPing{0%,to{text-shadow:none}35%{color:#fff;text-shadow:0 0 .65rem #ffdd57f5,0 0 1.2rem #7dd3fcd1;transform:scale(1.12)}}footer{color:#fff;background-color:#000;position:relative}.social-icon:hover{transition:transform .5s ease-in-out;transform:rotate(360deg)}.footer-links a{color:#fff;text-decoration:none}.footer-links a:hover{color:#007bff}.contact-container{text-align:center;text-shadow:1px 1px 2px #0003;background-color:#ffffffe6;border-radius:.5rem;max-width:800px;margin:1.5rem auto 2em;padding:2rem;box-shadow:0 10px 20px #0003}.contact-options{justify-content:space-between;margin-top:2rem;display:flex}.contact-option{background-color:#f8f9fa;border-radius:.5rem;flex:1;margin:0 1rem;padding:1rem;box-shadow:0 10px 20px #0003}.contact-option h3{color:#333;text-shadow:1px 1px 2px #0003;margin-bottom:1rem}.contact-option p{color:#555;text-shadow:1px 1px 2px #0003;margin-bottom:1.5rem}.btn-primary{color:#fff;background:linear-gradient(45deg,#007bff,#0056b3);border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s,transform .3s,box-shadow .3s;box-shadow:0 4px 6px #0000001a}.btn-primary:hover{background-color:#003d80;transform:scale(1.05);box-shadow:0 8px 12px #0003}.btn-secondary{color:#fff;background:linear-gradient(45deg,#6c757d,#343a40);border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s,transform .3s,box-shadow .3s;box-shadow:0 4px 6px #0000001a}.btn-secondary:hover{background-color:#23272b;transform:scale(1.05);box-shadow:0 8px 12px #0003}.subtle-shadow{box-shadow:0 2px 5px #0003}.header-internal-content{text-align:center;color:#fff;text-shadow:2px 2px 4px #00000080;background-color:#0009;border-radius:15px;max-width:64rem;margin-top:1rem;margin-left:auto;margin-right:auto;padding:10px;transition:color .2s ease-in-out;animation:.5s ease-out popOut;box-shadow:0 10px 20px #00000040}.header-internal-content.headline-secret-active{animation:1.65s ease-out headlineCalibrate}@keyframes popOut{0%{opacity:.7;transform:scale(.9)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.home-value-statement{margin-bottom:.45rem;font-weight:600}.home-experience-statement{max-width:52rem;margin:0 auto .35rem;font-size:1rem;line-height:1.55}.img-thumbnail{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.img-thumbnail:hover{transform:scale(1.05);box-shadow:0 4px 8px #0000004d}.btn-primary{color:#fff;background:linear-gradient(45deg,#007bff,#0056b3);border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1.25rem;transition:background-color .3s,transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 4px 6px #0000001a}.btn:hover{background-color:#003d80;transform:translateY(-2px);box-shadow:0 8px 12px #0003}.btn-primary:focus{outline:none;box-shadow:0 0 0 .2rem #007bff80}@keyframes expand{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes changeColor1{to{color:#000;text-shadow:1px 1px 2px #ffffff80;background:linear-gradient(45deg,#ff9a9e 0%,#fad0c4 99% 100%)}}@keyframes changeColor2{to{color:#000;text-shadow:1px 1px 2px #ffffff80;background:linear-gradient(45deg,#a18cd1 0%,#fbc2eb 100%)}}@keyframes changeColor3{to{color:#000;text-shadow:1px 1px 2px #ffffff80;background:linear-gradient(45deg,#fbc2eb 0%,#a6c1ee 100%)}}@keyframes changeColor4{to{color:#fff;background:linear-gradient(45deg,#007bff,#0056b3)}}.portfolio-btn{animation:.5s ease-in-out .5s forwards expand,.5s ease-in-out .5s forwards changeColor1}.software-btn{animation:.5s ease-in-out 1.5s forwards expand,.5s ease-in-out 1.5s forwards changeColor2}.robotics-btn{animation:.5s ease-in-out 1s forwards expand,.5s ease-in-out 1s forwards changeColor3}.contact-btn{animation:.5s ease-in-out 2s forwards expand,.5s ease-in-out 2s forwards changeColor4}@keyframes shimmer{0%{left:-150%}50%{left:150%}to{left:150%}}.btn-primary:before{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff80 50%,#fff0 100%);width:150%;height:100%;animation:2s 3 shimmer;position:absolute;top:0;left:-150%}.ml-2{margin-left:.5rem}.rocket-icon{width:2rem;height:2rem}.portfolio-action-row{justify-content:center;align-items:flex-start;gap:.65rem;width:100%;display:flex}.portfolio-action-row .portfolio-btn{flex:1;min-width:0}.rocket-easter-button{background:#111827;border:2px solid #ffffffd1;border-radius:999px;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;margin-top:.1rem;padding:.45rem;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 6px 12px #00000038}.rocket-easter-button:hover,.rocket-easter-button:focus{background:#1f2937;outline:none;transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}.rocket-easter-button.launching .rocket-icon{animation:1.1s ease-in-out rocketLaunch}.rocket-easter-button.launching:after{content:"";opacity:0;background:linear-gradient(#fff6a6 0%,#ff9e45 55%,#d94a2b 100%);border-radius:999px;width:.55rem;height:1.1rem;animation:.45s ease-out 2 rocketFlame;position:absolute;bottom:.25rem;left:50%;transform:translate(-50%)}img{max-height:100%}.max-size{max-height:20em}.profile-photo-wrap{width:min(100%,20rem);display:inline-flex;position:relative}.profile-photo-trigger{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:inline-flex;position:relative}.profile-photo-trigger:focus{outline:none}.profile-photo-trigger:focus-visible .profile-photo{box-shadow:0 0 0 .2rem #007bff80,0 4px 8px #0000004d}.profile-photo{aspect-ratio:1;object-fit:cover;object-position:center 24%;width:min(100%,20rem)}.astronaut-helmet-sketch{opacity:0;pointer-events:none;z-index:2;width:104%;height:104%;position:absolute;top:-10%;left:-5%;transform:rotate(-4deg)scale(.98)}.profile-photo-wrap.helmet-active .astronaut-helmet-sketch{opacity:1;animation:5.2s ease-in-out both helmetFloat}.helmet-line{fill:none;filter:drop-shadow(0 1.6px 1.6px #0009);opacity:0;paint-order:stroke;stroke:#fffffff0;stroke-dasharray:var(--crayon-dash,4.2 3.5 1.4 2.6 6.5 4.4 2.2 3.2);stroke-dashoffset:var(--crayon-offset,0);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--helmet-stroke-width,9.6);transform-origin:50%;vector-effect:non-scaling-stroke}.profile-photo-wrap.helmet-active .helmet-line{animation:.34s ease-out forwards crayonLineIn,.24s ease-in-out .6s 13 alternate crayonJitter}.helmet-white{--helmet-opacity:.97;stroke:#fffffffa}.helmet-blue{--helmet-opacity:.96;stroke:#71c4fffa}.helmet-yellow{--helmet-opacity:.98;stroke:#ffdd52fa}.profile-photo-wrap.helmet-active .helmet-shell-wobble{--crayon-dash:2.8 4.1 7 5 1.4 3.1 4.8 4.2;--crayon-offset:3;--helmet-opacity:.68;--helmet-stroke-width:5.8;animation-delay:80ms,.95s}.profile-photo-wrap.helmet-active .helmet-visor{--crayon-dash:4 3.8 1.5 2.8 6 4.5 2.4 3.4;--crayon-offset:1.5;--helmet-stroke-width:8.6;animation-delay:.18s,1s}.profile-photo-wrap.helmet-active .helmet-visor-wobble{--crayon-dash:2.6 3.8 6.2 4.7 1.5 3.2 4.2 4;--crayon-offset:4.4;--helmet-opacity:.82;--helmet-stroke-width:6.2;animation-delay:.38s,1.1s}.profile-photo-wrap.helmet-active .helmet-neck{--crayon-dash:4.5 4 2 3.2 7.2 5 2.4 3.6;animation-delay:.28s,1.05s}.profile-photo-wrap.helmet-active .helmet-glint{--crayon-dash:2.8 4 4.5 4.2 1.5 3.4;--helmet-opacity:.78;stroke:#ffffffe0;--helmet-stroke-width:4.7;animation-delay:.52s,1.15s}.profile-photo-wrap.helmet-active .helmet-ear-left,.profile-photo-wrap.helmet-active .helmet-ear-right{--crayon-dash:3.6 3.8 2 3 5.5 4.6;--helmet-opacity:.82;--helmet-stroke-width:6.2;animation-delay:.22s,1.05s}.profile-photo-wrap.helmet-active .helmet-badge{--crayon-dash:2.5 3 1.2 2.4 3.3 3.2;--helmet-stroke-width:4.8;animation-delay:.5s,1.12s}.profile-photo-wrap.helmet-active .helmet-star{--crayon-dash:2.5 3 1.2 2.4 3.3 3.2;--helmet-stroke-width:4.8;animation-delay:.58s,1.16s}.profile-photo-wrap.helmet-active .helmet-crayon-dust{--crayon-dash:2 5.5 1.5 4 3 6.5 1 4;--helmet-opacity:.68;--helmet-stroke-width:4.2;animation-delay:.42s,1.05s}.profile-secret-card{color:#fff;opacity:0;pointer-events:none;text-align:center;z-index:3;background:#0b1220e6;border:2px solid #ffdd52eb;border-radius:.55rem;width:16rem;max-width:calc(100% - 1.4rem);padding:.65rem .7rem;animation:.22s ease-in both profileSecretOut;position:absolute;bottom:.65rem;left:50%;transform:translate(-50%)rotate(-1deg)scale(.94);box-shadow:0 10px 24px #00000061}.profile-photo-wrap.profile-secret-active .profile-secret-card{pointer-events:auto;animation:.34s ease-out both profileSecretIn}.profile-secret-kicker{color:#ffdd52;letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.profile-secret-card strong{margin:.15rem 0 .45rem;font-size:.96rem;line-height:1.2;display:block}.profile-secret-grid{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.profile-secret-action{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:.35rem;padding:.25rem .35rem;font-size:.78rem;font-weight:800;transition:background-color .18s,border-color .18s,transform .18s}.profile-secret-action:hover,.profile-secret-action:focus{background:#ffdd5238;border-color:#ffdd52b8;outline:none;transform:translateY(-1px)}.profile-secret-action:focus-visible{box-shadow:0 0 0 .16rem #ffdd526b}.section-spacing{margin-top:2rem;margin-bottom:2rem}.home-btn-background{background-color:#ffffffbf;border-radius:.5rem;flex-direction:column;align-items:center;max-width:400px;margin:2rem auto;padding:1.5rem;display:flex;box-shadow:0 4px 8px #0000001a}.home-capabilities{background-color:#ffffffe6;border-top:3px solid #007bff;border-bottom:2px solid #0056b373;max-width:68rem;margin:0 auto 2.5rem;padding:1.5rem}.home-capabilities-heading{text-align:center;margin-bottom:1.25rem}.home-capabilities-heading h2{color:#16324a;margin-bottom:.35rem;font-size:1.8rem}.home-capabilities-heading p{color:#405467;max-width:46rem;margin:0 auto}.home-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-capability{min-width:0;padding:.25rem 1.25rem}.home-capability+.home-capability{border-left:1px solid #1f4e7940}.home-capability h3{color:#0056b3;margin-bottom:.45rem;font-size:1.15rem}.home-capability p{color:#34495e;margin-bottom:0;line-height:1.55}.button-container .btn:hover{background-color:#003d80;transform:translateY(-2px);box-shadow:0 8px 12px #0003}@media (width<=768px){.header-internal-content{border-radius:.5rem;margin:0 .75rem;padding:.85rem}.header-title{font-size:2.15rem;line-height:1.1}.header-subtitle{margin-top:.35rem;font-size:1.15rem;display:block}.header-lead{font-size:1rem;line-height:1.45}.home-experience-statement{font-size:.92rem;line-height:1.5}.section-spacing{margin-top:1.25rem;margin-bottom:1.25rem}.home-btn-background{width:calc(100% - 1.5rem);margin:1rem auto;padding:1rem}.home-btn-background .btn{width:100%;max-width:19rem;font-size:1rem}.portfolio-action-row{max-width:19rem}.portfolio-action-row .portfolio-btn{max-width:none}.rocket-easter-button{width:2.9rem;height:2.9rem}.profile-photo{width:min(72vw,15rem);max-height:none}.profile-photo-wrap{width:min(72vw,15rem)}.profile-secret-card{width:13.75rem;padding:.55rem .6rem;bottom:.45rem}.profile-secret-card strong{font-size:.86rem}.profile-secret-action{font-size:.72rem}.home-capabilities{margin:0 .75rem 1.5rem;padding:1.15rem}.home-capabilities-heading{margin-bottom:.8rem}.home-capabilities-heading h2{font-size:1.5rem}.home-capability-grid{grid-template-columns:minmax(0,1fr)}.home-capability{padding:.85rem 0}.home-capability+.home-capability{border-top:1px solid #1f4e7940;border-left:0}.home-capability h3{font-size:1.05rem}}@keyframes rocketLaunch{0%{transform:translateY(0)rotate(0)scale(1)}20%{transform:translateY(.35rem)rotate(-8deg)scale(1.04)}48%{transform:translateY(-.75rem)rotate(12deg)scale(1.08)}78%{transform:translateY(-.25rem)rotate(-4deg)scale(1)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes rocketFlame{0%{opacity:0;transform:translate(-50%)scaleY(.4)}45%{opacity:.9;transform:translate(-50%,.4rem)scaleY(1.15)}to{opacity:0;transform:translate(-50%,.85rem)scaleY(.6)}}@keyframes crayonLineIn{0%{opacity:0;transform:translate(1.1px,-.7px)rotate(-.6deg)}55%{opacity:.55}to{opacity:var(--helmet-opacity,1);transform:translate(0)rotate(0)}}@keyframes crayonJitter{0%{transform:translate(-.55px,.35px)rotate(-.25deg)}to{transform:translate(.55px,-.35px)rotate(.25deg)}}@keyframes helmetFloat{0%{opacity:0;transform:translateY(.4rem)rotate(-5deg)scale(.96)}18%{opacity:1;transform:translateY(0)rotate(-3deg)scale(1)}70%{opacity:1;transform:translateY(-.25rem)rotate(-1deg)scale(1.01)}to{opacity:0;transform:translateY(-.1rem)rotate(-4deg)scale(.98)}}@keyframes profileSecretIn{0%{opacity:0;transform:translate(-50%)translateY(.7rem)rotate(-3deg)scale(.88)}to{opacity:1;transform:translate(-50%)translateY(0)rotate(-1deg)scale(1)}}@keyframes profileSecretOut{to{opacity:0;transform:translate(-50%)translateY(.4rem)rotate(1deg)scale(.94)}}@keyframes headlineCalibrate{0%,to{box-shadow:0 10px 20px #00000040}35%{color:#ffdd52;transform:translateY(-.12rem);box-shadow:0 0 0 .2rem #ffdd5270,0 14px 28px #00000047}}.recoil-text{display:grid;position:relative}.recoil-text__semantic,.recoil-text__visual{grid-area:1/1;min-width:0}.recoil-text__visual{pointer-events:none;-webkit-user-select:none;user-select:none;visibility:hidden}.recoil-text--active .recoil-text__semantic{color:#0000;text-shadow:none}.recoil-text--active .recoil-text__visual{visibility:visible}.recoil-word{white-space:nowrap;display:inline-block}.recoil-letter{transition:transform .1s ease-out;display:inline-block}.recoil-text--active .recoil-letter{will-change:transform}.recoil-letter:before{content:attr(data-character)}.recoil-space:before{content:" "}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.recoil-text__semantic{color:inherit!important;text-shadow:inherit!important}.recoil-text__visual{display:none}.recoil-letter{transition:none;transform:none!important}}.header-internal-content{text-align:center;color:#fff;text-shadow:2px 2px 4px #00000080;background-color:#0009;border-radius:15px;margin-top:1rem;padding:10px;transition:color .2s ease-in-out;animation:.5s ease-out popOut;box-shadow:0 10px 20px #00000040}.header-internal-content:hover{color:#007bff}.header-title{font-size:3rem;font-weight:700}.header-subtitle{margin:.35rem 0 0;font-size:1.5rem;font-weight:300;line-height:1.35;display:block}.header-lead{margin-top:1rem;font-size:1.25rem}.card-background{background-color:#ffffffe6;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem;box-shadow:0 4px 8px #0000001a}.hover{transition:all .2s ease-in-out}.attention-border{border:2px solid #007bff;border-radius:10px;margin-top:20px;margin-bottom:20px;padding:15px;box-shadow:0 0 10px #0000001a}.attention-border.portfolio-inspected{border-color:#1f9d66;box-shadow:0 0 0 .12rem #1f9d6629,0 0 10px #0000001a}.portfolio-featured-card{background-color:#fffffff5;border-color:#164b7a;padding:1.25rem;box-shadow:0 .5rem 1.25rem #0b2a4833}.portfolio-featured-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.portfolio-featured-heading h2{margin:.45rem 0 0;font-size:2rem;line-height:1.2}.featured-project-label,.featured-project-type{letter-spacing:0;border-radius:4px;padding:.35rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.featured-project-label{color:#fff;text-transform:uppercase;background-color:#164b7a}.featured-project-type{color:#25394a;background-color:#eef4f8;border:1px solid #b9cad8;margin-top:.15rem}.portfolio-featured-preview-link{margin-bottom:1.15rem;display:block}.img-thumbnail.portfolio-featured-preview{aspect-ratio:16/9;object-fit:cover;object-position:top center;width:100%;height:clamp(12rem,42vw,26rem);max-height:26rem;display:block}.portfolio-featured-copy{color:#34495e;font-size:1rem;line-height:1.65}.portfolio-featured-copy p:last-child{margin-bottom:0}.portfolio-tech-list{flex-wrap:wrap;gap:.5rem;margin:1.15rem 0;padding:0;list-style:none;display:flex}.portfolio-tech-list li{color:#263b4c;background-color:#f3f6f8;border:1px solid #c5d1da;border-radius:4px;padding:.35rem .55rem;font-size:.82rem;font-weight:600}.portfolio-featured-actions{flex-wrap:wrap;gap:.65rem;display:flex}.portfolio-project-card a:not(.btn){color:#0056b3}.portfolio-project-card .text-muted{color:#5a6268!important}.portfolio-project-card .text-muted a,.portfolio-project-card h3>a{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:.08em}.portfolio-project-card .img-thumbnail{border:0;padding:0}.portfolio-project-card .btn-outline-primary{color:#0056b3;border-color:#0056b3}.portfolio-project-card .btn-outline-primary:hover,.portfolio-project-card .btn-outline-primary:focus{color:#fff;background-color:#0056b3}.custom-list{margin-top:5px;margin-bottom:0}.margin-right{margin-right:5px}.flex-container{justify-content:space-between;display:flex}.flex-item{flex:1;margin:0 10px 20px 0}.hover:hover{transform:scale(1.025)}.img-thumbnail{max-height:100%}.max-size{object-fit:contain;max-height:20em}@media (width<=767px){.portfolio-featured-card{padding:1rem}.portfolio-featured-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.portfolio-featured-heading h2{font-size:1.65rem}.img-thumbnail.portfolio-featured-preview{aspect-ratio:16/10}}@media (width<=480px){.portfolio-featured-actions{grid-template-columns:minmax(0,1fr);display:grid}.portfolio-featured-actions .btn{white-space:normal;width:100%}}body{color:#333;background-color:#f4f4f9;margin:0;padding:0;font-family:Arial,sans-serif}.resume-container{background:#fff;border-radius:8px;max-width:800px;margin:0 auto 2em;padding:20px;animation:1s ease-in-out fadeIn;box-shadow:0 4px 8px #0000004d}.resume-title{text-align:center;color:#0056b3;margin-bottom:20px;font-size:2.5em}.resume-title-control{justify-content:center;align-items:flex-start;gap:.75rem;margin-bottom:20px;display:flex;position:relative}.resume-title-control .resume-title{margin-bottom:0}.commissioning-console{margin-top:.45rem;position:relative}.commissioning-trigger{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#172033;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:.4rem;min-width:4.9rem;padding:.4rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex;box-shadow:0 6px 14px #00000038}.commissioning-trigger:hover,.commissioning-trigger:focus{background:#22375c;outline:none}.commissioning-light{background:#ffbf47;border-radius:999px;width:.65rem;height:.65rem;display:inline-block;box-shadow:0 0 0 2px #ffbf472e,0 0 12px #ffbf47cc}.commissioning-console.run .commissioning-light{background:#3bd675;animation:1.1s ease-in-out infinite runPulse;box-shadow:0 0 0 2px #3bd67533,0 0 14px #3bd675e6}.commissioning-panel{color:#e6edf8;z-index:8;background:#111827;border:1px solid #ffffff29;border-radius:.5rem;width:17rem;padding:.8rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 14px 30px #00000052}.commissioning-steps{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.commissioning-step{color:#e6edf8;background:#273244;border:1px solid #ffffff24;border-radius:.35rem;padding:.55rem .45rem;font-size:.82rem;font-weight:700;transition:background-color .18s,border-color .18s,transform .18s}.commissioning-step:hover,.commissioning-step:focus{background:#334158;outline:none;transform:translateY(-1px)}.commissioning-step.armed{border-color:#ffbf47}.commissioning-step.complete{background:#1f6f45;border-color:#3bd675}.commissioning-readout{color:#85f1ad;letter-spacing:.08em;text-align:center;background:#0b1220;border:1px solid #ffffff1f;border-radius:.35rem;margin-top:.6rem;padding:.45rem .55rem;font-family:Courier New,monospace;font-size:.86rem;font-weight:800}.resume-button{text-align:center;margin-bottom:10px}.resume-pdf-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.resume-entry-dates{margin:.15rem 0 .35rem;font-size:.95em;display:block}.resume-switcher{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:0 0 1.5rem;display:flex}.resume-switcher-link{color:#0056b3;border:1px solid #0056b3;border-radius:.5rem;padding:.5rem .85rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s}.resume-switcher-link:hover,.resume-switcher-link.active{color:#fff;background-color:#0056b3;text-decoration:none}.resume-section{overflow-wrap:anywhere;margin-bottom:12px}.resume-section h2{color:#0056b3;border-bottom:2px solid #0056b3;margin-bottom:6px;padding-bottom:5px;font-size:1.5em}.resume-section p,.resume-section ul{margin-bottom:.55rem;font-size:1em;line-height:1.45}.resume-section p,.resume-section>ul>li,.resume-section ul ul li{border-radius:5px;padding:.25rem .35rem;transition:background-color .3s}.resume-section p:hover,.resume-section ul ul li:hover{background-color:#f0f8ff}.resume-section>ul>li:hover:not(:has(ul li:hover)){background-color:#f0f8ff}.resume-section ul{padding:0;list-style-type:none}.resume-section ul li{margin-bottom:7px}.resume-section ul li strong{color:#0056b3}.resume-section ul ul{margin-left:20px}.resume-section ul ul li{margin-bottom:4px}.resume-inline-secret{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:5px;padding:0}.resume-inline-secret:hover,.resume-inline-secret:focus{background-color:#f0f8ff;outline:none}.contact-link{color:#0056b3;align-items:center;margin:0 5px;text-decoration:none;display:inline-flex}.contact-link:hover{text-decoration:underline}.social-icon-resume{width:16px;height:16px;margin-left:5px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.center-text{text-align:center}@keyframes runPulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}@media (width<=768px){.resume-container{margin:0 .75rem 1.5em;padding:1rem}.resume-title{font-size:2rem}.resume-title-control{flex-direction:column;align-items:center;gap:.5rem}.commissioning-console{margin-top:0}.commissioning-panel{width:min(17rem,100vw - 2rem);left:50%;right:auto;transform:translate(-50%)}.resume-switcher{gap:.5rem}.resume-switcher-link{text-align:center;width:100%}}.keyboard-sequence-panel{color:#fff;z-index:34;background:#081221f0;border:1px solid #7dd3fc5c;border-radius:.5rem;gap:.45rem;width:24rem;max-width:min(24rem,100vw - 2rem);padding:.75rem .85rem;display:grid;position:fixed;top:5.15rem;left:50%;transform:translate(-50%);box-shadow:0 14px 30px #00000052}.keyboard-sequence-kicker{color:#7dd3fc;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:900}.keyboard-sequence-panel strong{font-size:.95rem;line-height:1.25}.keyboard-sequence-steps{grid-template-columns:repeat(8,minmax(0,1fr));gap:.28rem;display:grid}.keyboard-sequence-steps span{background:#ffffff1a;border:1px solid #ffffff24;border-radius:.32rem;justify-content:center;align-items:center;min-height:2rem;font-weight:900;display:inline-flex}.keyboard-sequence-steps span.complete{color:#d9ffe9;background:#5ce19c33;border-color:#5ce19c94}@media (width<=576px){.keyboard-sequence-panel{top:8.35rem}}.secret-terminal{color:#d9ffe9;z-index:45;background:#070c16f5;border:1px solid #5ce19c6b;border-radius:.5rem;width:37rem;max-width:min(37rem,100vw - 2rem);font-family:Consolas,Monaco,Courier New,monospace;position:fixed;bottom:1rem;left:1rem;overflow:hidden;box-shadow:0 18px 42px #00000061}.secret-terminal.flashing{animation:.42s ease-in-out 3 terminalFlash}.secret-terminal-header{background:#5ce19c17;border-bottom:1px solid #5ce19c40;align-items:center;gap:.55rem;min-height:2.35rem;padding:.45rem .65rem;display:flex}.terminal-status-dot{background:#5ce19c;border-radius:999px;width:.72rem;height:.72rem;display:inline-flex;box-shadow:0 0 12px #5ce19ce6}.terminal-close{color:#d9ffe9;background:#ffffff14;border:1px solid #ffffff29;border-radius:.3rem;min-width:1.7rem;margin-left:auto;padding:.18rem .35rem;font-size:.78rem;font-weight:800}.terminal-close:hover,.terminal-close:focus{background:#5ce19c2e;outline:none}.terminal-output{gap:.25rem;max-height:min(17rem,44svh);padding:.75rem .8rem .6rem;display:grid;overflow-y:auto}.terminal-line{color:#d9ffe9;white-space:pre-wrap;word-break:break-word;font-size:.85rem;line-height:1.35}.terminal-line.command{color:#8fc7ff}.terminal-line.output{color:#f3f7ff}.terminal-line.system{color:#5ce19c}.terminal-line.error{color:#ff9d9d}.terminal-form{background:#0000003d;border-top:1px solid #5ce19c38;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;padding:.62rem .8rem;display:grid}.terminal-prompt{color:#5ce19c;font-weight:800}.terminal-input{color:#fff;font:inherit;background:0 0;border:0;outline:none;min-width:0}.terminal-input::placeholder{color:#d9ffe985}.terminal-submit{color:#d9ffe9;font:inherit;background:#5ce19c24;border:1px solid #5ce19c61;border-radius:.32rem;padding:.22rem .45rem;font-size:.78rem;font-weight:800}.terminal-submit:hover,.terminal-submit:focus{background:#5ce19c3d;outline:none}@keyframes terminalFlash{0%{border-color:#5ce19c6b;box-shadow:0 18px 42px #00000061}42%,58%{border-color:#ffdd57f2;box-shadow:0 0 0 .22rem #ffdd5742,0 18px 42px #00000061}to{border-color:#5ce19c6b;box-shadow:0 18px 42px #00000061}}@media (width<=576px){.secret-terminal{width:calc(100vw - 1.5rem);max-width:calc(100vw - 1.5rem);bottom:.75rem;left:.75rem}.terminal-output{max-height:40svh}}.spacex-return-button{color:#fff;z-index:30;background:#0b1220;border:1px solid #7dd3fc6b;border-radius:999px;align-items:center;gap:.45rem;min-height:2.75rem;padding:.5rem .75rem;font-weight:800;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex;position:fixed;bottom:1rem;left:1rem;box-shadow:0 10px 24px #00000047}.spacex-return-button:hover,.spacex-return-button:focus{background:#12315a;border-color:#7dd3fc;outline:none;transform:translateY(-1px)}.spacex-return-button img{object-fit:contain;width:1.05rem;height:1.05rem}.spacex-return-button span{line-height:1}@media (width<=576px){.spacex-return-button{min-height:2.45rem;font-size:.85rem;bottom:.75rem;left:.75rem}}.trophy-room-button{color:#fff;z-index:60;background:#172033;border:1px solid #ffffff52;border-radius:999px;align-items:center;gap:.45rem;min-height:2.75rem;padding:.45rem .7rem;display:inline-flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 10px 24px #00000047}.trophy-room-button:hover,.trophy-room-button:focus{background:#22375c;outline:none}.trophy-icon{fill:none;stroke:#ffd45a;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.2px;width:1.45rem;height:1.45rem}.trophy-room-count{font-size:.9rem;font-weight:700;line-height:1}.egg-toast{color:#172033;z-index:61;background:#fffef7;border:2px solid #ffd45a;border-radius:.5rem;max-width:min(18rem,100vw - 2rem);padding:.75rem .9rem;animation:.25s ease-out eggToastIn;position:fixed;bottom:4.25rem;right:1rem;box-shadow:0 12px 30px #00000038}.egg-toast-label{color:#516070;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700;display:block}.egg-toast strong{margin-top:.1rem;font-size:1.05rem;display:block}.trophy-room-panel{color:#172033;z-index:62;background:#f8fafc;border:1px solid #1720332e;border-radius:.5rem;width:23rem;max-width:min(23rem,100vw - 2rem);max-height:calc(100svh - 5.5rem);padding:1rem;position:fixed;bottom:4.25rem;right:1rem;overflow-y:auto;box-shadow:0 16px 38px #00000047}.trophy-room-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.trophy-room-header h2{color:#172033;margin:0;font-size:1.2rem}.trophy-room-actions{gap:.45rem;display:inline-flex}.trophy-room-small-button{color:#172033;background:0 0;border:1px solid #17203340;border-radius:.35rem;padding:.25rem .55rem;font-size:.85rem}.trophy-list{gap:.85rem;display:grid}.trophy-group{gap:.45rem;display:grid}.trophy-group-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.trophy-group-header h3{color:#172033;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:900}.trophy-group-header span{color:#4b6f90;white-space:nowrap;font-size:.74rem;font-weight:800}.trophy-group-list{gap:.5rem;display:grid}.trophy-card{background:#e9eef5;border:1px solid #1720331f;border-radius:.5rem;grid-template-columns:2rem 1fr;align-items:center;gap:.75rem;padding:.7rem;display:grid}.trophy-card.unlocked{background:#fff8d8;border-color:#ffd45a}.trophy-card-mark{color:#fff;background:#172033;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:800;display:inline-flex}.trophy-card.unlocked .trophy-card-mark{background:#246a46}.trophy-card h4{color:#172033;margin:0 0 .1rem;font-size:1rem}.trophy-card p{color:#4a5567;margin:0;font-size:.88rem}.trophy-hint-area{gap:.35rem;margin-top:.45rem;display:grid}.trophy-hint-button{color:#172033;background:0 0;border:1px solid #1720333d;border-radius:.35rem;justify-self:start;padding:.22rem .5rem;font-size:.78rem;font-weight:800}.trophy-hint-button:hover,.trophy-hint-button:focus{background:#105d9914;border-color:#105d996b;outline:none}.trophy-hint-text{background:#ffffff9e;border-left:3px solid #0b65ad;border-radius:.25rem;padding:.4rem .5rem}.trophy-bonus-panel{border-top:1px solid #1720331f;gap:.85rem;margin-top:.85rem;padding-top:.85rem;display:grid}.blueprint-reward-row{justify-content:space-between;align-items:center;gap:.85rem;display:flex}.trophy-room-kicker{color:#4b6f90;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.1;display:block}.blueprint-reward-row h3{color:#172033;margin:.1rem 0 0;font-size:1rem}.schematic-mark{background:#eef6ff;border:1px solid #105d9947;border-radius:.3rem;flex:none;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;padding:0;display:inline-flex;position:relative}.schematic-mark:before,.schematic-mark:after,.schematic-mark span{content:"";background:#0b65ad;display:block;position:absolute}.schematic-mark:before{height:1px;top:.78rem;left:.32rem;right:.32rem}.schematic-mark:after{width:1px;top:.32rem;bottom:.32rem}.schematic-mark span{border-radius:999px;width:.36rem;height:.36rem}.schematic-mark:hover,.schematic-mark:focus,.schematic-mark.active{background:#dff0ff;border-color:#105d9994;outline:none}.schematic-note{color:#26364a;background:#eef6ff;border-left:3px solid #0b65ad;border-radius:.35rem;margin:0;padding:.55rem .65rem;font-size:.82rem;line-height:1.35}.blueprint-switch{color:#172033;background:#e4eef7;border:1px solid #1720332e;border-radius:999px;flex:none;align-items:center;gap:.42rem;min-height:2rem;padding:.22rem .55rem .22rem .28rem;font-size:.82rem;font-weight:800;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.blueprint-switch:hover,.blueprint-switch:focus{border-color:#105d997a;outline:none}.blueprint-switch.active{color:#fff;background:#0a3e6e;border-color:#2ea8ff}.blueprint-switch-track{background:#1720333d;border-radius:999px;align-items:center;width:2.5rem;height:1.4rem;padding:.13rem;display:inline-flex}.blueprint-switch.active .blueprint-switch-track{background:#ffffff3d}.blueprint-switch-thumb{background:#fff;border-radius:999px;width:1.14rem;height:1.14rem;transition:transform .18s;display:block;transform:translate(0);box-shadow:0 2px 5px #00000047}.blueprint-switch.active .blueprint-switch-thumb{transform:translate(1.08rem)}.share-panel{border-top:1px solid #1720331f;gap:.5rem;margin-top:.85rem;padding-top:.85rem;display:grid}.share-message{color:#26364a;background:#eef6ff;border:1px solid #105d9929;border-radius:.4rem;margin:0;padding:.55rem .65rem;font-size:.82rem;line-height:1.35}.share-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}.share-button{color:#172033;background:#edf4fb;border:1px solid #17203324;border-radius:.4rem;flex-direction:column;justify-content:center;align-items:center;gap:.16rem;min-height:3rem;padding:.38rem .28rem;font-size:.72rem;font-weight:800;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.share-button:hover,.share-button:focus{background:#dff0ff;border-color:#105d996b;outline:none;transform:translateY(-1px)}.share-icon{border:1px solid;border-radius:2px;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.72rem;font-style:normal;font-weight:900;line-height:1;display:inline-flex}.share-icon--linkedin{color:#fff;background:#0a66c2;border-color:#0a66c2}.share-icon--x{color:#fff;background:#111;border-color:#111}.share-icon--facebook{color:#fff;background:#1877f2;border-color:#1877f2}.share-icon--link{color:#0b65ad;border:0;position:relative}.share-icon--link:before,.share-icon--link:after{content:"";border:2px solid;border-radius:999px;width:.68rem;height:.38rem;position:absolute;transform:rotate(-35deg)}.share-icon--link:before{top:.12rem;left:0}.share-icon--link:after{bottom:.12rem;right:0}.share-status{color:#246a46;min-height:1rem;font-size:.78rem;font-weight:800}@keyframes eggToastIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media (width<=576px){.trophy-room-button{bottom:.75rem;right:.75rem}.egg-toast,.trophy-room-panel{bottom:3.9rem;right:.75rem}.share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
