.page_skipLink__MH7Gq{position:fixed;top:-60px;left:50vw;transform:translateX(-50%);background:var(--color-accent-hover);color:var(--color-text-inverse)!important;padding:12px 24px;text-decoration:none;border-radius:0 0 var(--border-radius) var(--border-radius);z-index:1001;font-weight:600;font-size:.875rem;opacity:0;pointer-events:none;transition:top .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;white-space:nowrap;box-shadow:0 4px 6px var(--color-shadow)}.page_skipLink__MH7Gq:focus{top:0;opacity:1;pointer-events:auto;outline:3px solid var(--color-text);outline-offset:-3px;box-shadow:0 4px 12px var(--color-shadow-strong)}.page_skipLink__MH7Gq:focus:not(:focus-visible){outline:none}.page_mainContainer__HWWsc{position:relative}.page_mainContainer__HWWsc.page_skipLinkActive__L_TXn .page_nav__ijo23{margin-top:48px}.page_nav__ijo23{background:hsla(0,0%,100%,.8);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);transition:margin-top .3s ease,background .3s ease,border-color .3s ease}[data-theme=dark] .page_nav__ijo23{background:hsla(0,0%,4%,.8);border-bottom-color:var(--color-border)}.page_navContainer__fvPGx{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-md);max-width:var(--max-width);margin:0 auto}.page_navRight__cj3o2{display:flex;align-items:center;gap:var(--spacing-lg);position:-webkit-sticky;position:sticky}.page_hamburger__SA1X3{display:none;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;z-index:103;position:relative;flex-shrink:0}.page_hamburger__SA1X3:focus{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.page_hamburger__SA1X3:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.page_hamburgerLine__qQaDP{width:24px;height:3px;background:var(--color-text);border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center;display:block;position:absolute;left:4px;right:4px}.page_hamburgerLine__qQaDP:first-child{top:8px}.page_hamburgerLine__qQaDP:nth-child(2){top:14.5px}.page_hamburgerLine__qQaDP:nth-child(3){top:21px}.page_hamburger__SA1X3[aria-expanded=true] .page_hamburgerLine__qQaDP:first-child{top:14.5px;left:4px;right:4px;transform:rotate(45deg)}.page_hamburger__SA1X3[aria-expanded=true] .page_hamburgerLine__qQaDP:nth-child(2){opacity:0;width:0;left:50%;right:50%}.page_hamburger__SA1X3[aria-expanded=true] .page_hamburgerLine__qQaDP:nth-child(3){top:14.5px;left:4px;right:4px;transform:rotate(-45deg)}.page_mobileMenuOverlay__rlLua{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.3);z-index:102;animation:page_fadeIn__jjObi .3s ease-in-out;cursor:pointer;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.page_logo__ikIZE{font-size:1.5rem;font-weight:700;color:var(--color-text);transition:color .3s ease}.page_logo__ikIZE:focus{color:var(--color-accent-hover);outline:2px solid var(--color-accent-hover);outline-offset:6px;border-radius:2px}.page_logo__ikIZE:hover{color:var(--color-accent-hover);text-decoration:none!important}.page_navLinks__8rPi_{display:flex;list-style:none;gap:var(--spacing-lg);align-items:center}.page_navLinks__8rPi_ a{color:var(--color-text);font-weight:500;position:relative;transition:color .3s ease}.page_navLinks__8rPi_ a:focus,.page_navLinks__8rPi_ a:hover{color:var(--color-accent-hover);text-decoration:none!important}.page_navLinks__8rPi_ a:focus{outline:2px solid var(--color-accent-hover);outline-offset:6px;border-radius:2px}.page_navLinks__8rPi_ a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent-hover);transition:width .3s ease}.page_navLinks__8rPi_ a:hover:after{width:100%}.page_themeToggle__1G9tR{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);min-width:80px;height:40px;line-height:1;color:var(--color-text);font-weight:500;font-family:var(--font-body)}.page_themeToggle__1G9tR:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:scale(1.05);color:var(--color-text-inverse)}.page_themeToggle__1G9tR:focus{outline:2px solid var(--color-accent-hover);outline-offset:2px}.page_themeToggle__1G9tR:focus-visible{outline:2px solid var(--color-accent-hover);outline-offset:2px}.page_themeToggle__1G9tR:active{transform:scale(.95)}.page_themeToggleIcon__DXAxL{font-size:1rem;line-height:1}.page_themeToggleText__9gOLt{font-size:.875rem;font-weight:500}@keyframes page_fadeIn__jjObi{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.page_hamburger__SA1X3{display:block;position:relative;z-index:103}.page_nav__ijo23{position:-webkit-sticky;position:sticky;top:0;z-index:102}.page_navContainer__fvPGx{position:relative;z-index:103}.page_logo__ikIZE{position:relative;z-index:102}.page_hamburger__SA1X3[aria-expanded=true] .page_hamburgerLine__qQaDP{background:var(--color-text)}.page_navRight__cj3o2{position:fixed;top:0;right:0;height:100vh;width:280px;max-width:85vw;background:var(--color-bg);border-left:1px solid var(--color-border);flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:80px var(--spacing-lg) var(--spacing-2xl);gap:var(--spacing-xl);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 20px var(--color-shadow-strong);z-index:102;overflow-y:auto;overscroll-behavior:contain}.page_navRight__cj3o2[aria-hidden=false]{transform:translateX(0)}.page_navLinks__8rPi_{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);width:100%}.page_navLinks__8rPi_ li{width:100%}.page_navLinks__8rPi_ a{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-sm);font-size:1.125rem;border-radius:var(--border-radius);margin-left:calc(-1 * var(--spacing-sm))}.page_navLinks__8rPi_ a:focus{outline:2px solid var(--color-accent-hover);outline-offset:2px;background:var(--color-bg)}.page_navLinks__8rPi_ a:after{display:none}.page_themeToggle__1G9tR{width:100%;min-width:unset;justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm)}.page_themeToggle__1G9tR:focus{outline:2px solid var(--color-accent-hover);outline-offset:2px}.page_themeToggleText__9gOLt{display:inline}.page_themeToggleIcon__DXAxL{font-size:1.125rem}.page_skipLink__MH7Gq{font-size:.75rem;padding:10px 20px}.page_mainContainer__HWWsc.page_skipLinkActive__L_TXn .page_nav__ijo23{margin-top:44px}}.Hero_hero__NjNAX{padding:var(--spacing-2xl) 0;min-height:80vh;display:flex;align-items:center;scroll-margin-top:0;position:relative;transition:background .5s ease;background-image:url(/wesley-tingey-XvlbhiTzfWA-unsplash.jpg);background-size:cover;background-position:50%;background-repeat:no-repeat}.Hero_heroContent__LmFbO{max-width:700px;margin:0 auto;padding:0 var(--spacing-md);display:grid;align-items:center;position:relative;width:100%;box-sizing:border-box}.Hero_heroText__NY2ki{text-align:center;background-color:rgba(73,117,93,.9);padding:.2em .4em}[data-theme=dark] .Hero_heroText__NY2ki{background-color:rgba(189,136,98,.9)}.Hero_hero__NjNAX h1{font-size:3.5rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin-top:.5em}.Hero_heroSubtitle__9zqV2,.Hero_hero__NjNAX h1{margin-bottom:var(--spacing-md);color:var(--color-bg)}.Hero_heroSubtitle__9zqV2{font-size:1.5rem;font-weight:500}.Hero_heroDescription__8FkDN{font-size:1.125rem;color:var(--color-bg);margin-bottom:var(--spacing-md);line-height:1.8}@media (max-width:768px){.Hero_hero__NjNAX{padding:var(--spacing-xl) 0;min-height:auto}.Hero_heroContent__LmFbO{grid-template-columns:1fr;text-align:center;gap:var(--spacing-lg);padding:0 var(--spacing-md)}.Hero_heroText__NY2ki{text-align:center}.Hero_hero__NjNAX h1{font-size:2.25rem;line-height:1.2}.Hero_heroSubtitle__9zqV2{font-size:1.125rem}}@media (max-width:480px){.Hero_hero__NjNAX h1{font-size:1.75rem;padding:0 var(--spacing-xs)}.Hero_heroContent__LmFbO{padding:0 var(--spacing-sm)}.Hero_heroDescription__8FkDN{font-size:.9375rem}}.Resume_resumeSection__tOUgM{background:var(--color-bg-secondary);transition:background .3s ease}.Resume_resumeDescription__63bE_{margin-bottom:var(--spacing-lg)}.Contact_contactContent__bD1gH{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-2xl);gap:var(--spacing-2xl);align-items:start}.Contact_contactInfo__NvnI5{text-align:left}.Contact_contactInfo__NvnI5 h2{margin-bottom:var(--spacing-md)}.Contact_contactInfo__NvnI5 p{margin-bottom:var(--spacing-lg)}.Contact_contactForm__9Q9jl{background:var(--color-bg);padding:var(--spacing-xl);border-radius:var(--border-radius);transition:background .3s ease}.Contact_hidden__pZodL{display:none;visibility:hidden}.Contact_requiredIndicator__uZSth{color:var(--color-accent-hover);font-weight:700;margin-left:2px}.Contact_statusMessage__1kuiJ{margin-bottom:var(--spacing-md);min-height:1.5rem}.Contact_successMessage__r1iP7{padding:var(--spacing-sm) var(--spacing-md);background-color:rgba(5,150,105,.15);color:var(--color-success);border:2px solid var(--color-success);border-radius:var(--border-radius);font-weight:500;transition:background-color .3s ease,color .3s ease,border-color .3s ease}[data-theme=dark] .Contact_successMessage__r1iP7{background-color:rgba(52,211,153,.15)}.Contact_errorMessage__pdXnP{padding:var(--spacing-sm) var(--spacing-md);background-color:rgba(220,38,38,.15);color:var(--color-error);border:2px solid var(--color-error);border-radius:var(--border-radius);font-weight:500;transition:background-color .3s ease,color .3s ease,border-color .3s ease}[data-theme=dark] .Contact_errorMessage__pdXnP{background-color:hsla(0,91%,71%,.15)}.Contact_formGroup__SqR95{margin-bottom:var(--spacing-lg)}.Contact_formGroup__SqR95 label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.Contact_formGroup__SqR95 input,.Contact_formGroup__SqR95 textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);font-family:var(--font-body);font-size:1rem;transition:var(--transition);background:var(--color-bg);color:var(--color-text)}.Contact_formGroup__SqR95 input:focus,.Contact_formGroup__SqR95 textarea:focus{outline:2px solid var(--color-accent-hover);outline-offset:2px;border-color:var(--color-accent-hover);box-shadow:0 0 0 2px rgba(79,70,229,.2)}[data-theme=dark] .Contact_formGroup__SqR95 input:focus,[data-theme=dark] .Contact_formGroup__SqR95 textarea:focus{box-shadow:0 0 0 2px rgba(165,180,252,.3)}.Contact_formGroup__SqR95 input.Contact_inputError__OR9ZK,.Contact_formGroup__SqR95 textarea.Contact_inputError__OR9ZK{border-color:var(--color-error);border-width:2px}.Contact_formGroup__SqR95 input.Contact_inputError__OR9ZK:focus,.Contact_formGroup__SqR95 textarea.Contact_inputError__OR9ZK:focus{outline-color:var(--color-error);border-color:var(--color-error);box-shadow:0 0 0 2px rgba(220,38,38,.2)}[data-theme=dark] .Contact_formGroup__SqR95 input.Contact_inputError__OR9ZK:focus,[data-theme=dark] .Contact_formGroup__SqR95 textarea.Contact_inputError__OR9ZK:focus{box-shadow:0 0 0 2px hsla(0,91%,71%,.3)}.Contact_fieldError__Gda6n{margin-top:var(--spacing-xs);color:var(--color-error);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.Contact_fieldError__Gda6n:before{content:"⚠";font-size:1rem;margin-right:.25rem}.Contact_formGroup__SqR95 textarea{resize:vertical;min-height:120px}@media (max-width:768px){.Contact_contactContent__bD1gH{grid-template-columns:1fr;gap:var(--spacing-lg);padding:0}.Contact_contactInfo__NvnI5{text-align:center}.Contact_contactForm__9Q9jl{padding:var(--spacing-lg)}}.Footer_footer__YgQC9{background:var(--color-bg);color:var(--color-text);padding:var(--spacing-xl) 36px;text-align:center;border-top:1px solid var(--color-border);transition:background .3s ease,color .3s ease,border-color .3s ease}.Footer_container__STlpI,.Footer_footerContent__wVv4x{max-width:var(--max-width);margin:0 auto}.Footer_container__STlpI{padding:0 var(--spacing-md)}