@keyframes navbar-fade-in{0%{opacity:0}to{opacity:1}}.navbar{padding:40px var(--space-80);opacity:0;background:0 0;animation:1s ease-out forwards navbar-fade-in}.navbar--project-scroll{z-index:1000;background-color:var(--white);transition:transform .3s;position:fixed;top:0;left:0;right:0}.navbar--project-scroll.navbar--hidden{transform:translateY(-100%)}.navbar--project-scroll+main{padding-top:100px}@media (max-width:768px){.navbar--project-scroll+main{padding-top:72px}}@media (max-width:1024px) and (min-width:769px){.navbar--project-scroll+main{padding-top:84px}}.navbar-container{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.navbar-logo{z-index:1001;flex-shrink:0;width:58px;height:52px;overflow:visible}.navbar-logo img{object-fit:contain;transform-origin:50%;width:100%;height:100%;transition:transform .25s;display:block}.navbar-logo:hover img{transform:scale(1.15)}.navbar-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;padding:10px;display:none}.navbar-toggle-icon{object-fit:contain;width:28px;height:auto;transition:opacity .2s;display:block}.navbar-toggle-icon.open{opacity:0;pointer-events:none}.navbar-close{display:none}.navbar-menu{align-items:center;gap:30px;font-family:Spline Sans Mono,sans-serif;font-size:20px;font-weight:300;display:flex}.navbar-link{color:var(--black);text-decoration:none;transition:opacity .2s;position:relative}.navbar-link:hover{opacity:.7}.navbar-link.active{text-underline-offset:8px;text-decoration:underline}.navbar-overlay{display:none}.navbar-theme-toggle{cursor:pointer;vertical-align:middle;background:0 0;border:none;align-items:center;padding:6px 0;display:inline-flex}.navbar-theme-toggle-track{border:1px solid var(--black);background:0 0;border-radius:17px;width:64px;height:34px;display:block;position:relative}.navbar-theme-toggle:hover .navbar-theme-toggle-track{border-color:var(--black)}.navbar-theme-toggle-thumb{background-color:var(--black);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .2s;display:flex;position:absolute;top:3px;left:3px}.navbar-theme-toggle-thumb-icon{flex-shrink:0;display:block}.navbar-theme-toggle-thumb.dark{transform:translate(30px)}@media (max-width:768px){.navbar{padding:16px var(--space-20)16px 20px;z-index:10001;position:relative}.navbar-logo{width:auto;height:48px;margin-left:-4px}.navbar-toggle-icon{width:auto;height:32px}.navbar-toggle{display:block}.navbar-overlay{z-index:9999;opacity:0;pointer-events:none;background:#00000040;transition:opacity .3s;position:fixed;inset:0}.navbar-overlay.open{opacity:1;pointer-events:auto;display:block}.navbar-close{z-index:10001;cursor:pointer;width:44px;height:44px;color:var(--black);background:0 0;border:none;justify-content:center;align-items:center;padding:10px;display:none;position:fixed;top:16px;right:16px}.navbar-close.open{display:flex}.navbar-close:hover{opacity:.9}.navbar-close-icon{flex-shrink:0;display:block}.navbar-menu{background-color:var(--white);z-index:10000;flex-direction:column;justify-content:center;gap:40px;width:70%;max-width:300px;height:100vh;padding:40px;transition:right .3s;position:fixed;top:0;right:-100%;box-shadow:-2px 0 10px #0000001a}.navbar-menu.open{right:0}.navbar-link{font-size:24px}}@media (max-width:1024px) and (min-width:769px){.navbar{padding:20px var(--space-40)}.navbar-menu{gap:24px;font-size:18px}}
.footer{width:100%;padding:var(--space-40)0;background-color:var(--white)}.footer-container{width:100%;padding:0 var(--space-80);justify-content:space-between;align-items:center;display:flex}.footer-left{gap:var(--space-4);flex-direction:column;display:flex}.footer-name,.footer-title{font-family:var(--font-mono);font-size:14px;font-weight:var(--light);color:var(--black)}.footer-email{font-family:var(--font-mono);font-size:14px;font-weight:var(--light);color:var(--black);text-decoration:none}.footer-email:hover{opacity:.7}.footer-link{font-family:var(--font-mono);font-size:14px;font-weight:var(--light);color:var(--black);text-decoration:none}.footer-link:hover{opacity:.7}@media (max-width:1024px) and (min-width:769px){.footer-container{padding:0 var(--space-40)}}@media (max-width:768px){.footer{padding:var(--space-32)0}.footer-container{padding:0 var(--space-20);flex-direction:column;align-items:flex-start}}
