@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=DM+Serif+Display:ital@0;1&display=swap";h1,.h1{letter-spacing:-.03em;font-size:3.75rem;font-weight:500;line-height:1.05}@media (width<=768px){h1,.h1{font-size:2.25rem}}h2,.h2{letter-spacing:-.02em;font-size:2.25rem;font-weight:500;line-height:1.1}@media (width<=768px){h2,.h2{font-size:1.5rem}}h3,.h3{letter-spacing:-.01em;font-size:1.5rem;font-weight:500;line-height:1.2}h4,.h4{font-size:1.25rem;font-weight:500}.serif{font-family:DM Serif Display,Georgia,serif}.mono{font-family:SF Mono,Fira Code,monospace}.text-gradient{background:linear-gradient(135deg,#fff,#666);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #ffffff1a}50%{box-shadow:0 0 40px #fff3}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-scale{opacity:0;transition:opacity .8s,transform .8s;transform:scale(.9)}.reveal-scale.visible{opacity:1;transform:scale(1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{color:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}input,textarea{font:inherit;color:inherit}ul,ol{list-style:none}::selection{color:#fff;background:#ffffff26}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.container-narrow{max-width:1100px;margin:0 auto;padding:0 2rem}.section{padding:6rem 0}.page{min-height:100vh;padding-top:80px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spinner{border:2px solid #222;border-top-color:#f5f5f5;border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.8s linear infinite spin}.img-reveal{position:relative;overflow:hidden}.img-reveal img{object-fit:cover;opacity:0;width:100%;height:100%;transition:transform 1.2s,opacity .6s;transform:scale(1.05)}.img-reveal img.loaded{opacity:1;transform:scale(1)}.img-reveal:hover img{transform:scale(1.03)}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transition:opacity .5s,transform .5s;transform:translateY(0)}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .3s}.magnetic{cursor:pointer;will-change:transform;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.875rem;font-weight:500;transition:transform .3s,box-shadow .3s;display:inline-flex}.magnetic--primary{color:#0a0a0a;background:#f5f5f5;box-shadow:0 4px 20px #ffffff1a}.magnetic--primary:hover{box-shadow:0 8px 30px #fff3}.magnetic--outline{color:#f5f5f5;border:1px solid #222}.magnetic--outline:hover{border-color:#f5f5f5}.project-card{background:#1a1a1a;border:1px solid #222;border-radius:16px;transition:transform .4s,border-color .4s;position:relative;overflow:hidden}.project-card:hover{border-color:#fff3;transform:translateY(-8px)}.project-card__media{aspect-ratio:16/10;overflow:hidden}.project-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.project-card:hover .project-card__media img{transform:scale(1.05)}.project-card__body{padding:1.25rem}.project-card__title{margin-bottom:.25rem;font-size:1.125rem;font-weight:500}.project-card__meta{color:#a0a0a0;font-size:.875rem}
/*$vite$:1*/