body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:none;line-height:1.6;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}.navbar{padding:2rem 40px;position:-webkit-sticky;position:sticky;top:0;transition:background-color .3s ease;z-index:1000}.navbar,body.light-mode .navbar{background-color:initial}.navbar-content{justify-content:space-between;margin:0 auto;max-width:1400px;width:100%}.logo,.navbar-content{align-items:center;display:flex}.logo{margin:0;text-decoration:none;transition:opacity .3s ease}.logo-image{height:40px;transition:transform .3s ease;width:auto}.logo:hover .logo-image{transform:scale(1.05)}body.light-mode .logo-image{filter:invert(1)}.project2-page .logo{color:#121212}.project2-page .logo-image{filter:invert(0) brightness(0)}.project2-page .nav-link{color:#121212}.project2-page .nav-link:hover{color:#333}.project2-page .hamburger-line{background-color:#121212}.nav-links{display:flex;gap:2rem}.nav-link{display:inline-block;font-size:14px;font-weight:400;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-link,.nav-link.active{color:#fff}.nav-link.inactive{color:#999}.nav-link:hover{color:#fff;font-size:15px;transform:translateY(-2px)}body.light-mode .nav-link.active{color:#121212}body.light-mode .nav-link.inactive{color:#666}body.light-mode .nav-link:hover{color:#121212;font-size:15px;transform:translateY(-2px)}.hamburger-menu{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:30px;justify-content:center;padding:0;width:30px;z-index:1001}.hamburger-line{background-color:#fff;height:2px;margin:2px 0;transform-origin:center;transition:all .3s ease;width:20px}body.light-mode .hamburger-line{background-color:#121212}.hamburger-line.open:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-nav{align-items:center;background-color:#121212;display:none;flex-direction:column;gap:2rem;height:100vh;justify-content:center;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:100%;z-index:1000}.mobile-nav.open{transform:translateX(0)}body.light-mode .mobile-nav{background-color:#f2f2f2}.mobile-nav-link{color:#fff;font-family:Geist Mono,monospace;font-size:24px;font-weight:400;text-decoration:none;transition:all .3s ease}.mobile-nav-link.active{color:#fff}.mobile-nav-link.inactive{color:#999}.mobile-nav-link:hover{color:#fff;transform:translateY(-2px)}body.light-mode .mobile-nav-link.active{color:#121212}body.light-mode .mobile-nav-link.inactive{color:#666}body.light-mode .mobile-nav-link:hover{color:#121212}@media (max-width:768px){.navbar{padding:2rem 30px}.nav-links{display:none}.hamburger-menu,.mobile-nav{display:flex}}@media (max-width:480px){.navbar{padding:2rem 20px}}.hero{align-items:center;background-color:#121212;display:flex;justify-content:center;min-height:60vh;padding:4rem 40px;transition:background-color .3s ease}body.light-mode .hero{background-color:#f2f2f2}.hero-content{align-items:center;display:flex;gap:2rem;justify-content:flex-start;margin:0 auto;max-width:1400px;width:100%}.hero-text{flex:1 1;text-align:left}.toggle-section{align-items:center;display:flex;height:100%;justify-content:center}.hero-name{color:#fff;font-family:Geist,sans-serif;font-size:80px;font-weight:300;line-height:1.1;margin-bottom:1rem;transition:color .3s ease}body.light-mode .hero-name{color:#121212}.hero-title{color:#999;font-family:Geist,sans-serif;font-size:80px;font-weight:300;line-height:1.4;margin-bottom:0;transition:color .3s ease}body.light-mode .hero-title{color:#666}.toggle-switch{background:linear-gradient(145deg,#2a2a2a,#1a1a1a);border:2px solid #333;border-radius:50px;box-shadow:inset 0 2px 4px #0000004d,inset 0 -2px 4px #ffffff1a,0 4px 8px #0006;cursor:pointer;height:40px;overflow:hidden;padding:0;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:80px}.toggle-switch:hover{box-shadow:inset 0 2px 4px #0000004d,inset 0 -2px 4px #ffffff1a,0 6px 12px #00000080;transform:translateY(-1px)}.toggle-switch.light{background:linear-gradient(145deg,#f0f0f0,#e0e0e0);border-color:#ccc;box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0000001a,0 4px 8px #0003}.toggle-switch.light:hover{box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0000001a,0 6px 12px #0000004d}.toggle-slider{background-color:initial;border-radius:50px;height:100%;position:relative;transition:all .4s ease;width:100%}.toggle-handle{background:linear-gradient(145deg,#fff,#e0e0e0);border:1px solid #fff3;border-radius:50%;box-shadow:0 3px 6px #0000004d,0 1px 2px #0003,inset 0 1px 0 #fffc,inset 0 -1px 0 #0000001a;height:36px;left:1px;position:absolute;top:50%;transform:translateY(-50%);transition:all .4s cubic-bezier(.4,0,.2,1);width:36px}.toggle-handle:hover{box-shadow:0 4px 8px #0006,0 2px 4px #0000004d,inset 0 1px 0 #ffffffe6,inset 0 -1px 0 #0000001a}.toggle-switch.light .toggle-handle{background:linear-gradient(145deg,#121212,#2a2a2a);border:1px solid #0003;box-shadow:0 3px 6px #0006,0 1px 2px #0000004d,inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #0000004d;transform:translateX(39px) translateY(-50%)}.toggle-switch.light .toggle-handle:hover{box-shadow:0 4px 8px #00000080,0 2px 4px #0006,inset 0 1px 0 #ffffff26,inset 0 -1px 0 #0000004d}@media (max-width:768px){.hero{padding:4rem 30px}.hero-content{flex-direction:column;gap:2rem}.hero-content,.hero-text{text-align:center}.hero-name,.hero-title{font-size:60px}.resume-btn{font-size:.9rem;padding:.875rem 1.75rem}.toggle-switch{box-shadow:inset 0 1px 3px #0000004d,inset 0 -1px 3px #ffffff1a,0 3px 6px #0006;height:32px;width:65px}.toggle-switch:hover{box-shadow:inset 0 1px 3px #0000004d,inset 0 -1px 3px #ffffff1a,0 4px 8px #00000080}.toggle-switch.light{box-shadow:inset 0 1px 3px #ffffff4d,inset 0 -1px 3px #0000001a,0 3px 6px #0003}.toggle-handle{box-shadow:0 2px 4px #0000004d,0 1px 2px #0003,inset 0 1px 0 #fffc,inset 0 -1px 0 #0000001a;height:28px;left:1px;top:50%;transform:translateY(-50%);width:28px}.toggle-switch.light .toggle-handle{box-shadow:0 2px 4px #0006,0 1px 2px #0000004d,inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #0000004d;transform:translateX(32px) translateY(-50%)}}@media (max-width:480px){.hero{padding:4rem 20px}.hero-name,.hero-title{font-size:50px}.toggle-switch{box-shadow:inset 0 1px 2px #0000004d,inset 0 -1px 2px #ffffff1a,0 2px 4px #0006;height:28px;width:55px}.toggle-switch:hover{box-shadow:inset 0 1px 2px #0000004d,inset 0 -1px 2px #ffffff1a,0 3px 6px #00000080}.toggle-switch.light{box-shadow:inset 0 1px 2px #ffffff4d,inset 0 -1px 2px #0000001a,0 2px 4px #0003}.toggle-handle{box-shadow:0 1px 3px #0000004d,0 1px 1px #0003,inset 0 1px 0 #fffc,inset 0 -1px 0 #0000001a;height:24px;left:1px;top:50%;transform:translateY(-50%);width:24px}.toggle-switch.light .toggle-handle{box-shadow:0 1px 3px #0006,0 1px 1px #0000004d,inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #0000004d;transform:translateX(26px) translateY(-50%)}}.projects{background-color:#121212;padding:.5rem 40px 6rem;transition:background-color .3s ease}body.light-mode .projects{background-color:#f2f2f2}.projects-content{margin:0 auto;max-width:1400px;width:100%}.resume-section{margin-bottom:4rem}.graphic-design-section,.resume-section{display:flex;justify-content:center;width:100%}.graphic-design-section{margin-top:8rem}.graphic-design-btn{align-items:center;background-color:initial;border:1px solid #fff;border-radius:50px;color:#fff;cursor:pointer;display:inline-flex;font-family:Geist Mono,monospace;font-size:1rem;font-weight:500;gap:.5rem;overflow:hidden;padding:1rem 2rem;position:relative;text-decoration:none;transition:all .6s cubic-bezier(.4,0,.2,1)}.graphic-design-btn:hover{background-color:#fff;box-shadow:0 8px 25px #fff3;color:#121212}body.light-mode .graphic-design-btn{border-color:#121212;color:#121212}body.light-mode .graphic-design-btn:hover{background-color:#121212;box-shadow:0 8px 25px #12121233;color:#f2f2f2}.graphic-design-text-section{display:flex;justify-content:center;margin-top:7.75rem;width:100%}.graphic-design-text{color:#fff;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:1.4;margin:0;text-align:center;transition:color .3s ease}.graphic-design-text .highlight-text{color:#999;transition:color .3s ease}body.light-mode .graphic-design-text{color:#121212}body.light-mode .graphic-design-text .highlight-text{color:#666}.projects-heading{font-family:Geist,sans-serif;font-size:48px;font-weight:300;line-height:1.2;margin-bottom:4rem;text-align:center}.heading-name{color:#fff}.heading-name,.heading-title{font-weight:300;transition:color .3s ease}.heading-title{color:#999}body.light-mode .heading-name{color:#121212}body.light-mode .heading-title{color:#666}.projects-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.project-card{aspect-ratio:1.3;border-radius:0;cursor:pointer;display:block;overflow:hidden;position:relative;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{box-shadow:0 12px 30px #0000004d;transform:translateY(-4px)}.project-image{display:block;height:100%;object-fit:cover;transition:filter .3s ease;width:100%}.project-overlay{background:#000000b3;bottom:0;display:flex;flex-direction:column;justify-content:space-between;left:0;opacity:0;padding:2rem;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-overlay-content{display:flex;flex-direction:column;margin-top:auto}.project-card:hover .project-overlay{opacity:1}.project-card:hover .project-image{filter:brightness(.7)}.project-title{font-size:24px;margin-bottom:0}.project-description,.project-title{color:#fff;font-family:Geist Mono,monospace;font-weight:300;text-align:left;transition:color .3s ease}.project-description{font-size:16px;line-height:1.4;margin-bottom:.5rem;opacity:.9}.project-date{color:#999;font-family:Geist Mono,monospace;font-size:14px;font-weight:300;text-align:left;transition:color .3s ease}body.light-mode .project-date,body.light-mode .project-description,body.light-mode .project-title{color:#fff}@media (max-width:768px){.projects{padding:.5rem 30px 6rem}.resume-section{margin-bottom:2.5rem}.resume-btn{font-size:.9rem;padding:.875rem 1.75rem}.graphic-design-section{margin-top:3rem}.graphic-design-btn{font-size:.9rem;padding:.875rem 1.75rem}.projects-heading{font-size:36px}.projects-grid{gap:30px;grid-template-columns:1fr 1fr}.project-overlay{padding:1.5rem}.project-title{font-size:20px}.project-description{font-size:14px}.project-date{font-size:12px}}@media (max-width:480px){.projects{padding:.5rem 20px 4rem}.resume-section{margin-bottom:2rem}.graphic-design-section{margin-top:2rem}.projects-heading{font-size:28px}.projects-grid{gap:20px;grid-template-columns:1fr}.project-overlay{padding:1rem}.project-title{font-size:18px}.project-description{font-size:13px}.project-date{font-size:11px}}.about{align-items:center;background-color:#121212;display:flex;min-height:100vh;padding:6rem 40px;position:relative;transition:background-color .3s ease}body.light-mode .about{background-color:#f2f2f2}.about-content{grid-gap:6rem;align-items:center;display:grid;gap:6rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px;min-height:60vh;width:100%}.about-image-section{align-items:center;display:flex;grid-column:1;justify-content:center;order:1}.about-image-container{aspect-ratio:3/4;border-radius:0;max-width:500px;overflow:hidden;position:relative;width:100%}.about-image{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.about-image:hover{transform:scale(1.02)}.about-text-section{display:flex;flex-direction:column;gap:2rem;grid-column:2;order:2}.about-name{color:#fff;font-family:Geist,sans-serif;font-size:80px;font-weight:200;line-height:1.1;margin:0;text-align:left;transition:color .3s ease}body.light-mode .about-name{color:#121212}.about-description{color:#fff;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:1.6;margin:0;opacity:.9;text-align:left;transition:color .3s ease}body.light-mode .about-description{color:#121212}.about-resume-section{margin-top:2rem}.resume-btn{align-items:center;background-color:initial;border:1px solid #fff;border-radius:50px;color:#fff;cursor:pointer;display:inline-flex;font-family:Geist Mono,monospace;font-size:1rem;font-weight:500;gap:.5rem;overflow:hidden;padding:1rem 2rem;position:relative;text-decoration:none;transition:all .6s cubic-bezier(.4,0,.2,1)}.resume-btn:hover{background-color:#fff;box-shadow:0 8px 25px #fff3;color:#121212}body.light-mode .resume-btn{border-color:#121212;color:#121212}body.light-mode .resume-btn:hover{background-color:#121212;box-shadow:0 8px 25px #12121233;color:#f2f2f2}.resume-btn:hover .arrow-out{opacity:0;transform:translate(20px,-20px)}.resume-btn:hover .arrow-in{opacity:1;transform:translate(0)}@media (max-width:1024px){.about-content{gap:4rem}.about-name{font-size:64px}}@media (max-width:768px){.about{padding:4rem 30px}.about-content{gap:3rem;grid-template-columns:1fr;text-align:center}.about-image-section{grid-column:1;order:1}.about-text-section{grid-column:1;order:2}.about-image-container{margin:0 auto;max-width:400px}.about-name{font-size:48px}.about-description{font-size:15px}.resume-btn{font-size:.9rem;padding:.875rem 1.75rem}}@media (max-width:480px){.about{padding:3rem 20px}.about-content{gap:2.5rem}.about-image-container{max-width:300px}.about-name{font-size:36px}.about-description{font-size:14px}.resume-btn{font-size:.85rem;padding:.75rem 1.5rem}}.experience-section{align-items:center;background-color:#121212;display:flex;justify-content:center;padding:0 40px;text-align:center;transition:background-color .3s ease}body.light-mode .experience-section{background-color:#f2f2f2}.jobs-section{align-items:center;background-color:#121212;display:flex;justify-content:center;margin-top:0;padding:0 40px 4rem;transition:background-color .3s ease}body.light-mode .jobs-section{background-color:#f2f2f2}.skills-section{align-items:center;background-color:#121212;display:flex;flex-direction:column;padding:4rem 40px;text-align:center;transition:background-color .3s ease}body.light-mode .skills-section{background-color:#f2f2f2}.skills-title{color:#fff;font-family:Geist,sans-serif;font-size:48px;font-weight:200;line-height:1.2;margin:0 0 3rem;text-align:left;transition:color .3s ease}body.light-mode .skills-title{color:#121212}.skills-list{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin:0 auto;max-width:1000px}.skill-item{background-color:#ffffff0d;border:none;border-radius:0;color:#fff;flex-shrink:0;font-family:Geist Mono,monospace;font-size:18px;font-weight:400;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.skill-item:hover{background-color:#ffffff1a;border-color:#555}body.light-mode .skill-item{background-color:#1212120d;border-color:#ccc;color:#121212}body.light-mode .skill-item:hover{background-color:#1212121a;border-color:#999}.fun-section{align-items:center;background-color:#121212;display:flex;flex-direction:column;margin:0 auto;max-width:1400px;padding:4rem 40px;text-align:center;transition:background-color .3s ease}body.light-mode .fun-section{background-color:#f2f2f2}.fun-title{color:#fff;font-family:Geist,sans-serif;font-size:48px;font-weight:200;line-height:1.2;margin:0 0 2rem;text-align:left;transition:color .3s ease}body.light-mode .fun-title{color:#121212}.fun-text{color:#fff;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:1.6;margin:0;max-width:600px;opacity:.9;text-align:left;transition:color .3s ease}body.light-mode .fun-text{color:#121212}.experience-title{margin:0}.experience-list{margin:0 auto;max-width:600px;width:100%}.job-description ul{color:#fff;font-family:Geist Mono,monospace;font-size:14px;font-weight:400;line-height:1.6;margin:0;opacity:.9;padding-left:1.5rem;text-align:left;transition:color .3s ease}body.light-mode .job-description ul{color:#121212}.job-description li{margin-bottom:.5rem}.job-description li:last-child{margin-bottom:0}.experience-title{color:#fff;font-family:Geist,sans-serif;font-size:48px;font-weight:200;line-height:1.2;margin:0 0 3rem;text-align:center;text-align:left;transition:color .3s ease}body.light-mode .experience-title{color:#121212}.experience-list{display:flex;flex-direction:column;gap:1rem}.job-item{border:none;border-radius:0;overflow:hidden;transition:border-color .3s ease}.job-title,body.light-mode .job-item{border:none}.job-title{align-items:center;background-color:initial;color:#fff;cursor:pointer;display:flex;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;justify-content:space-between;padding:1.5rem 2rem;text-align:left;transition:all .3s ease;width:100%}.job-title:hover{background-color:#ffffff0d}body.light-mode .job-title{color:#121212}body.light-mode .job-title:hover{background-color:#1212120d}.job-arrow{flex-shrink:0;transition:transform .3s ease}.job-arrow.expanded{transform:rotate(180deg)}.job-description{background-color:#ffffff05;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.job-description.expanded{max-height:400px;padding:1.5rem 2rem}body.light-mode .job-description{background-color:#12121205}.job-description p{color:#fff;font-family:Geist Mono,monospace;font-size:14px;font-weight:400;line-height:1.6;margin:0;opacity:.9;text-align:left;transition:color .3s ease}body.light-mode .job-description p{color:#121212}@media (max-width:768px){.experience-section{padding:0 30px}.jobs-section{margin-top:0;padding:0 30px 3rem}.experience-title{font-size:36px;margin-bottom:2rem}.job-title{font-size:15px}.job-description.expanded,.job-title{padding:1.25rem 1.5rem}.job-description p,.job-description ul{font-size:13px}.skills-section{padding:3rem 30px}.skills-title{font-size:36px;margin-bottom:2.5rem}.skill-item{font-size:16px;padding:.625rem 1.25rem}.skills-list{gap:1.25rem}.fun-section{padding:3rem 30px}.fun-title{font-size:36px;margin-bottom:1.5rem}.fun-text{font-size:15px}}@media (max-width:480px){.experience-section{padding:0}.jobs-section{margin-top:0}.experience-title{font-size:28px}.job-title{font-size:14px}.job-description.expanded,.job-title{padding:1rem 1.25rem}.job-description p,.job-description ul{font-size:12px}.skills-section{padding:2rem 20px}.skills-title{font-size:28px;margin-bottom:2rem}.skill-item{font-size:14px;padding:.5rem 1rem}.skills-list{gap:1rem}.fun-section{padding:2rem 20px}.fun-title{font-size:28px;margin-bottom:1rem}.fun-text{font-size:14px}}.fun-page{background-color:#121212;min-height:100vh;padding:40px;transition:background-color .3s ease}body.light-mode .fun-page{background-color:#f2f2f2}.fun-content{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1400px}.fun-section{border:none;border-radius:0;overflow:hidden;transition:border-color .3s ease}.fun-section-title{align-items:center;background-color:initial;border:none;color:#fff;cursor:pointer;display:flex;font-family:Geist Mono,monospace;font-size:48px;font-weight:400;gap:2rem;justify-content:space-between;padding:2rem;text-align:left;transition:all .3s ease;width:100%}.fun-section-title:hover{background-color:#ffffff0d}body.light-mode .fun-section-title{color:#121212}body.light-mode .fun-section-title:hover{background-color:#1212120d}.fun-arrow{align-items:center;display:flex;flex-shrink:0;font-family:Geist Mono,monospace;font-weight:400;height:32px;justify-content:center;transition:transform .3s ease;width:32px}.fun-arrow.expanded{transform:rotate(180deg)}.fun-image-grid{align-content:flex-start;background-color:#ffffff05;display:flex;flex-wrap:wrap;gap:0;margin:0 auto;max-height:0;max-width:1000px;overflow:hidden;transition:max-height .5s ease}.fun-image-grid.expanded{max-height:5000px}body.light-mode .fun-image-grid{background-color:#12121205}.image-item{display:inline-block;flex-shrink:0;margin:0;overflow:hidden;padding:0;position:relative;width:33.333%}.image-item img{display:block;height:auto;object-fit:contain;transition:transform .3s ease;width:100%}.image-item:hover img{transform:scale(1.05)}.illustrations-grid .image-item{width:50%}@media (max-width:768px){.fun-page{padding:30px}.fun-section-title{font-size:36px;padding:1.5rem}.image-item{width:50%}.image-item img{height:auto;margin:0 auto;max-width:80%}.fun-image-grid.expanded{max-height:15000px}}@media (max-width:480px){.fun-page{padding:20px}.fun-section-title{font-size:28px;padding:1rem}.image-item{width:100%}.image-item img{height:auto;margin:0 auto;max-width:70%}.fun-image-grid.expanded{max-height:20000px}}.ux-club-page{align-items:center;background-color:#121212;display:flex;justify-content:center;min-height:100vh;padding:40px;transition:background-color .3s ease}body.light-mode .ux-club-page{background-color:#f2f2f2}.ux-club-content{align-items:center;display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:800px;text-align:center}.ux-club-description{color:#fff;font-family:Geist Mono,monospace;font-size:18px;font-weight:400;line-height:1.6;margin:0;opacity:.9;transition:color .3s ease}body.light-mode .ux-club-description{color:#121212}.see-website-btn{align-items:center;background-color:initial;border:1px solid #fff;border-radius:50px;color:#fff;cursor:pointer;display:flex;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.see-website-btn:hover{background-color:#ffffff1a;box-shadow:0 0 20px #ffffff4d}body.light-mode .see-website-btn{border-color:#121212;color:#121212}body.light-mode .see-website-btn:hover{background-color:#1212121a;box-shadow:0 0 20px #1212124d}.arrow-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.arrow-out{transform:translateX(0) translateY(0)}.arrow-in{transform:translateX(-8px) translateY(8px)}.see-website-btn:hover .arrow-out{opacity:0;transform:translateX(8px) translateY(-8px)}.see-website-btn:hover .arrow-in{opacity:1;transform:translateX(0) translateY(0)}@media (max-width:768px){.ux-club-page{padding:30px}.ux-club-content{gap:2.5rem}.ux-club-description{font-size:16px}}@media (max-width:480px){.ux-club-page{padding:20px}.ux-club-content{gap:2rem}.ux-club-description{font-size:15px}.see-website-btn{font-size:15px;padding:.875rem 1.75rem}}.project2-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#e9e9e9;min-height:100vh;text-rendering:optimizeLegibility}.insights-section,.persona-image-section,.process-section{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.insights-section.animate-in,.persona-image-section.animate-in,.process-section.animate-in{opacity:1;transform:translateY(0)}.process-section:first-child{transition-delay:.1s}.process-section:nth-child(2){transition-delay:.2s}.process-section:nth-child(3){transition-delay:.3s}.persona-image{transition:transform .3s ease,box-shadow .3s ease}.persona-image:hover{box-shadow:0 12px 35px #0003;transform:scale(1.02)}.project-gif{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.insights-description,.insights-title,.process-description,.process-title{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1)}.insights-section.animate-in .insights-description,.insights-section.animate-in .insights-title,.process-section.animate-in .process-description,.process-section.animate-in .process-title{opacity:1;transform:translateY(0)}.process-section.animate-in .process-title{transition-delay:.2s}.process-section.animate-in .process-description{transition-delay:.3s}.project2-hero{min-height:100vh;padding:4rem 40px}.project2-content,.project2-hero{align-items:center;display:flex;justify-content:center}.project2-content{gap:2rem;margin:0 auto;max-width:1400px;width:100%}.project2-gif{flex:1 1;max-width:500px}.gif-placeholder{align-items:center;background-color:#d0d0d0;border:2px dashed #b0b0b0;border-radius:12px;color:#666;display:flex;font-family:Geist Mono,monospace;font-size:16px;height:400px;justify-content:center;width:100%}.project2-text{flex:1 1;max-width:600px}.project2-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist,sans-serif;font-size:60px;font-weight:300;line-height:1.1;margin-bottom:2rem;text-align:left}@supports (-webkit-appearance:none){.project2-title{font-size:62px}.detail-label,.detail-value,.project2-description{font-size:17px}.section-title{font-size:34px}.section-description{font-size:17px}}.project2-description{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:1.6;margin-bottom:2.5rem;text-align:left}.project2-details{margin-bottom:3rem}.prototype-btn{transform:translateY(0)}.prototype-btn:hover{transform:translateY(-2px)}.project2-problem-goal{background-color:#e9e9e9;border-top:2px solid #000;padding:4rem 40px}.project2-problem-goal-content{align-items:flex-start;display:flex;flex-direction:row;gap:4rem;margin:0 auto;max-width:1400px}.jump-to-process-btn{transform:translateY(0)}.jump-to-process-btn:hover{transform:translateY(-2px)}.process-number{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist,sans-serif;font-size:36px;font-weight:300;line-height:1;margin-bottom:.75rem;text-align:left}.process-gif .gif-placeholder{border-radius:30px;height:700px;margin:0 auto;width:350px}.process-gif-image{transition:transform .3s ease,box-shadow .3s ease}.process-gif-image:hover{box-shadow:0 8px 25px #00000026;transform:scale(1.02)}.competitive-analysis-image{margin-top:2rem;text-align:center}.ca-image{border-radius:8px;box-shadow:0 4px 12px #0000001a;height:auto;max-width:100%}@media (max-width:768px){.project2-hero{padding:4rem 30px}.project2-content{flex-direction:column;gap:3rem}.project2-gif{max-width:100%}.gif-placeholder{height:300px}.project2-title{font-size:48px}.detail-label,.detail-value,.project2-description{font-size:16px}.detail-item{flex-direction:column;gap:.5rem}.detail-label{margin-right:0;min-width:auto}.project2-problem-goal{padding:4rem 30px}.project2-problem-goal-content{flex-direction:column;gap:3rem}.section-title{font-size:28px}.process-section{padding:4rem 30px}.process-content{flex-direction:column;gap:3rem}.process-gif{max-width:100%}.process-gif .gif-placeholder{height:500px;width:250px}.process-number{font-size:32px}.process-title{font-size:22px}.process-description{font-size:13px}.insights-section{padding:4rem 30px}.insights-number{font-size:40px}.insights-title{font-size:28px}}@media (max-width:480px){.project2-hero{padding:4rem 20px}.project2-title{font-size:40px}.detail-label,.detail-value,.project2-description{font-size:16px}.gif-placeholder{height:250px}.prototype-btn{font-size:.9rem;padding:.875rem 1.75rem}.project2-problem-goal{padding:4rem 20px}.project2-problem-goal-content{flex-direction:column;gap:2.5rem}.section-title{font-size:24px}.process-section{padding:4rem 20px}.process-content{flex-direction:column;gap:2.5rem}.process-number{font-size:36px}.process-title{font-size:24px}.process-gif .gif-placeholder{height:400px;width:200px}.process-number{font-size:28px}.process-title{font-size:20px}.process-description{font-size:12px}.insights-section{padding:4rem 20px}.insights-number{font-size:36px}.insights-title{font-size:24px}}.persona-image-section{background-color:#e9e9e9;border-top:2px solid #000;padding:2rem 40px}.persona-image-section.no-border{border-top:none}.persona-image-container{margin:0 auto;max-width:800px;text-align:center}.persona-image-container.small{max-width:400px}.persona-image-container.medium{max-width:500px}.persona-image-wrapper{cursor:pointer;display:inline-block;position:relative;transition:transform .3s ease}.persona-image-wrapper:hover{transform:scale(1.02);transition:transform .2s ease}.persona-image{border-radius:12px;box-shadow:0 8px 25px #00000026;height:auto;max-width:100%;transition:all .3s ease}.user-flow-wrapper .persona-image,.wireframe-image{background:#0000;box-shadow:none}.click-indicator{align-items:center;background:#000c;border-radius:20px;bottom:20px;color:#fff;display:flex;font-family:Geist Mono,monospace;font-size:12px;gap:8px;opacity:0;padding:8px 12px;pointer-events:none;position:absolute;right:20px;transform:translateY(10px);transition:all .3s ease}.persona-image-wrapper:hover .click-indicator{opacity:1;transform:translateY(0)}.click-text{white-space:nowrap}.arrow-indicator{animation:bounce 2s infinite;font-size:14px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateX(0)}40%{transform:translateX(3px)}60%{transform:translateX(2px)}}.persona-dots{display:flex;gap:12px;justify-content:center;margin-top:2rem}.persona-dot{background-color:#ccc;border:none;border-radius:50%;cursor:pointer;height:12px;transition:all .3s ease;width:12px}.persona-dot.active{background-color:#000;transform:scale(1.2)}.persona-dot:hover{background-color:#666}.user-flow-wrapper{display:inline-block;position:relative}.image-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist,sans-serif;font-size:24px;font-weight:300;margin-bottom:1.5rem;text-align:center}@media (max-width:768px){.persona-image-section{padding:4rem 30px}}@media (max-width:480px){.persona-image-section{padding:4rem 20px}}.high-fidelity-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr;margin:0 auto;max-width:800px}.grid-item{border-radius:12px;box-shadow:0 8px 25px #00000026;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.grid-item:hover{box-shadow:0 12px 35px #0003;transform:scale(1.02);transition:transform .2s ease,box-shadow .2s ease}.grid-image{display:block;height:100%;object-fit:cover;width:100%}@media (max-width:768px){.high-fidelity-grid{gap:1rem;max-width:650px}}@media (max-width:600px){.high-fidelity-grid{gap:.75rem;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;max-width:500px}}@media (max-width:480px){.high-fidelity-grid{gap:.75rem;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,1fr);max-width:300px}}.prototype-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:2rem auto;max-width:750px}.prototype-item{border-radius:12px;overflow:hidden;position:relative;transition:transform .2s ease}.prototype-item:hover{transform:scale(1.02)}.prototype-image{border-radius:12px;display:block;height:auto;object-fit:cover;width:100%}@media (max-width:768px){.prototype-grid{gap:.75rem;grid-template-columns:repeat(2,1fr);max-width:500px}}@media (max-width:480px){.prototype-grid{gap:.5rem;grid-template-columns:1fr 1fr;max-width:300px}}.stats-container{display:flex;gap:2rem;justify-content:center;margin:3rem auto;max-width:800px}.stat-box{background-color:#d0d0d0;border-radius:12px;box-shadow:0 4px 12px #0000001a;flex:1 1;max-width:300px;padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-box:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.stat-number{font-family:Geist,sans-serif;font-size:3rem;font-weight:300;margin-bottom:.5rem}.stat-label,.stat-number{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000}.stat-label{font-family:Geist Mono,monospace;font-size:1rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.stats-container{gap:1.5rem;margin:2rem auto}.stat-box{padding:1.5rem}.stat-number{font-size:2.5rem}}@media (max-width:480px){.stats-container{flex-direction:column;gap:1rem;max-width:300px}.stat-box{max-width:none;padding:1.25rem}.stat-number{font-size:2rem}.stat-label{font-size:.9rem}}.project3-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#e9e9e9;min-height:100vh;text-rendering:optimizeLegibility}.project3-hero{min-height:100vh;padding:4rem 40px}.project3-content,.project3-hero{align-items:center;display:flex;justify-content:center}.project3-content{gap:2rem;margin:0 auto;max-width:1400px;width:100%}.project3-gif{flex:1 1;max-width:500px}.project-gif{border-radius:12px;height:auto;max-width:350px;object-fit:contain;transform:translateZ(0);width:100%;will-change:transform}.project3-text{flex:1 1;max-width:600px}.project3-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist,sans-serif;font-size:60px;font-weight:300;line-height:1.1;margin-bottom:2rem;text-align:left}@supports (-webkit-appearance:none){.project3-title{font-size:62px}.detail-label,.detail-value,.project3-description{font-size:17px}.section-title{font-size:34px}.section-description{font-size:17px}}.project3-description{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:1.6;margin-bottom:2.5rem;text-align:left}.project3-details{margin-bottom:3rem}.detail-item{align-items:flex-start;display:flex;margin-bottom:1rem}.detail-label{color:#000;font-weight:500;margin-right:1rem;min-width:120px}.detail-label,.detail-value{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist Mono,monospace;font-size:16px;text-align:left}.detail-value{color:#666;flex:1 1;font-weight:400}.prototype-btn{align-items:center;background-color:initial;border:1px solid #000;border-radius:50px;color:#000;cursor:pointer;display:inline-flex;font-family:Geist Mono,monospace;font-size:1rem;font-weight:500;gap:.5rem;overflow:hidden;padding:1rem 2rem;position:relative;text-decoration:none;transition:all .6s cubic-bezier(.4,0,.2,1)}.prototype-btn:hover{background-color:#000;box-shadow:0 8px 25px #0003;color:#e9e9e9}.arrow-container{align-items:center;display:flex;height:16px;justify-content:center;position:relative;width:16px}.arrow-icon{position:absolute;transition:all .6s cubic-bezier(.4,0,.2,1)}.arrow-out{opacity:1;transform:translate(0)}.arrow-in{opacity:0;transform:translate(-20px,20px)}.prototype-btn:hover .arrow-out{opacity:0;transform:translate(20px,-20px)}.prototype-btn:hover .arrow-in{opacity:1;transform:translate(0)}.project3-problem-goal{background-color:#e9e9e9;border-top:2px solid #000;padding:4rem 40px}.project3-problem-goal-content{align-items:flex-start;display:flex;flex-direction:row;gap:4rem;margin:0 auto;max-width:1400px}.goal-section,.problem-section{flex:1 1;max-width:none}.section-title{font-family:Geist,sans-serif;font-size:32px;font-weight:300;line-height:1.2;margin-bottom:1.5rem}.section-description,.section-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;text-align:left}.section-description{font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:1.6;margin:0}.jump-to-process-section{display:flex;justify-content:center;margin-left:-40px;margin-right:-40px;margin-top:3rem;padding-bottom:3rem;padding-left:40px;padding-right:40px;position:relative}.jump-to-process-section:after{background-color:#000;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.jump-to-process-btn{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background-color:initial;border:1px solid #000;border-radius:50px;color:#000;cursor:pointer;display:inline-flex;font-family:Geist Mono,monospace;font-size:1rem;font-weight:500;gap:.5rem;overflow:hidden;padding:1rem 2rem;position:relative;text-decoration:none;transition:all .6s cubic-bezier(.4,0,.2,1)}.jump-to-process-btn:hover{background-color:#000;box-shadow:0 8px 25px #0003;color:#e9e9e9}.process-section{background-color:#e9e9e9;padding:4rem 40px}.process-content{align-items:flex-start;display:flex;gap:40px;justify-content:center;margin:0 auto;max-width:1200px}.process-text{flex:0.7 1;max-width:450px}.process-gif{flex:0.8 1;max-width:300px}.process-title{font-family:Geist,sans-serif;font-size:24px;font-weight:300;line-height:1.2;margin-bottom:1rem}.process-description,.process-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;text-align:left}.process-description{font-family:Geist Mono,monospace;font-size:14px;font-weight:400;line-height:1.5;margin:0}.process-gif-image{border-radius:30px;display:block;height:auto;margin:0 auto;transform:translateZ(0);width:350px;will-change:transform}.insights-section{background-color:#e9e9e9;border-top:2px solid #000;padding:4rem 40px}.insights-section.no-border{border-top:none;padding-top:1rem}.insights-content{margin:0 auto;max-width:800px}.insights-number{font-size:48px;line-height:1;margin-bottom:4rem}.insights-number,.insights-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist,sans-serif;font-weight:300;text-align:left}.insights-title{font-size:32px;line-height:1.2;margin-bottom:1.5rem}.insights-description{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;font-family:Geist Mono,monospace;font-size:16px;font-weight:400;line-height:1.6;margin:0 0 1.5rem;text-align:left}.insights-description:last-child{margin-bottom:0}@media (max-width:768px){.project3-hero{padding:4rem 30px}.project3-content{flex-direction:column;gap:3rem}.project3-gif{max-width:100%}.project3-title{font-size:48px}.detail-label,.detail-value,.project3-description{font-size:16px}.detail-item{flex-direction:column;gap:.5rem}.detail-label{margin-right:0;min-width:auto}.project3-problem-goal{padding:4rem 30px}.project3-problem-goal-content{flex-direction:column;gap:3rem}.section-title{font-size:28px}.process-section{padding:4rem 30px}.process-content{flex-direction:column;gap:3rem}.process-gif{max-width:100%}.process-title{font-size:22px}.process-description{font-size:13px}.insights-section{padding:4rem 30px}.insights-number{font-size:40px}.insights-title{font-size:28px}}@media (max-width:480px){.project3-hero{padding:4rem 20px}.project3-title{font-size:40px}.detail-label,.detail-value,.project3-description{font-size:16px}.prototype-btn{font-size:.9rem;padding:.875rem 1.75rem}.project3-problem-goal{padding:4rem 20px}.project3-problem-goal-content{flex-direction:column;gap:2.5rem}.section-title{font-size:24px}.process-section{padding:4rem 20px}.process-content{flex-direction:column;gap:2.5rem}.process-title{font-size:20px}.process-description{font-size:12px}.insights-section{padding:4rem 20px}.insights-number{font-size:36px}.insights-title{font-size:24px}}@media (max-width:768px){.project-gif{max-width:250px}.process-gif-image{width:250px}}@media (max-width:480px){.project-gif{max-width:200px}.process-gif-image{width:200px}}.footer{background-color:#121212;border-top:1px solid #333;padding:2rem 40px;transition:background-color .3s ease,border-color .3s ease}body.light-mode .footer{background-color:#f2f2f2;border-top-color:#e0e0e0}.footer-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;width:100%}.footer-text{color:#fff;font-family:Geist Mono,monospace;font-size:14px;font-weight:400;transition:color .3s ease}body.light-mode .footer-text{color:#121212}.email-link{color:inherit;cursor:pointer;position:relative;text-decoration:none;transition:all .3s ease}.email-link:hover{text-decoration:underline;-webkit-text-decoration-color:currentColor;text-decoration-color:initial;text-underline-offset:2px}.footer-social{gap:1rem}.footer-social,.social-link{align-items:center;display:flex}.social-link{border:1px solid #fff;border-radius:50%;color:#fff;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.social-link:hover{background-color:#fff;box-shadow:0 4px 12px #fff3;color:#121212;transform:translateY(-2px)}body.light-mode .social-link{border-color:#121212;color:#121212}body.light-mode .social-link:hover{background-color:#121212;box-shadow:0 4px 12px #12121233;color:#f2f2f2}.instagram-icon,.linkedin-icon{height:20px;width:20px}@media (max-width:768px){.footer{padding:1.5rem 30px}.footer-content{flex-direction:column;gap:1rem;text-align:center}.footer-text{font-size:13px}.social-link{height:36px;width:36px}.instagram-icon,.linkedin-icon{height:18px;width:18px}}@media (max-width:480px){.footer{padding:1rem 20px}.footer-text{font-size:12px}.social-link{height:32px;width:32px}.instagram-icon,.linkedin-icon{height:16px;width:16px}}.custom-cursor{background:radial-gradient(circle,#fffc 0,#fff6 50%,#0000 100%);border-radius:50%;box-shadow:0 0 20px #fff9,0 0 40px #fff6,0 0 60px #fff3;height:20px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:width .15s cubic-bezier(.4,0,.2,1),height .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);width:20px;will-change:transform,width,height,background,box-shadow;z-index:9999}.custom-cursor.hovering{background:radial-gradient(circle,#ffffffe6 0,#ffffff80 50%,#0000 100%);box-shadow:0 0 30px #fffc,0 0 60px #fff9,0 0 90px #fff6;height:40px;width:40px}.custom-cursor.project-hovering{align-items:center;background:#0003;border:2px solid #fff;border-radius:50%;box-shadow:none;display:flex;height:100px;justify-content:center;transition:width .2s cubic-bezier(.4,0,.2,1),height .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),border .2s cubic-bezier(.4,0,.2,1);width:100px}.cursor-text{color:#fff;font-family:Geist Mono,monospace;font-size:11px;font-weight:400;opacity:.9;pointer-events:none;text-align:center}body.light-mode .custom-cursor{background:radial-gradient(circle,#121212cc 0,#12121266 50%,#0000 100%);box-shadow:0 0 20px #12121299,0 0 40px #12121266,0 0 60px #12121233}body.light-mode .custom-cursor.hovering{background:radial-gradient(circle,#121212e6 0,#12121280 50%,#0000 100%);box-shadow:0 0 30px #121212cc,0 0 60px #12121299,0 0 90px #12121266}body.light-mode .custom-cursor.project-hovering{background:#0003;border:2px solid #121212}body.light-mode .cursor-text{color:#fff}.custom-cursor.project-page{background:radial-gradient(circle,#000c 0,#0006 50%,#0000 100%);box-shadow:0 0 20px #0009,0 0 40px #0006,0 0 60px #0003}.custom-cursor.project-page.hovering{background:radial-gradient(circle,#000000e6 0,#00000080 50%,#0000 100%);box-shadow:0 0 30px #000c,0 0 60px #0009,0 0 90px #0006}.custom-cursor.project-page.project-hovering{background:#fff3;border:2px solid #000}.custom-cursor.project-page .cursor-text{color:#000}.App{background-color:#121212;color:#fff;font-family:Geist Mono,monospace;min-height:100vh;text-align:center;transition:background-color .3s ease}body.light-mode .App{background-color:#f2f2f2;color:#121212}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#121212;color:#fff;font-family:Geist Mono,monospace;overflow-x:hidden;transition:background-color .3s ease}body.light-mode{background-color:#f2f2f2;color:#121212}.App.project2-page,body.light-mode .App.project2-page{background-color:#e9e9e9;color:#121212}
/*# sourceMappingURL=main.f6bb6214.css.map*/