@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}html,body{max-width:100vw;overflow-x:hidden}*{box-sizing:border-box;margin:0;padding:0}.portfolio-container{color:#1a1a1a;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;overflow-x:hidden}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#fffffff2;transition:all .3s;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 20px #0000000d}.header.scrolled{box-shadow:0 2px 30px #0000001a}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1.2rem 2rem;display:flex}.logo{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.nav-desktop{gap:2rem;list-style:none;display:flex}.nav-desktop a{color:#4a5568;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-desktop a:hover{color:#667eea}.nav-desktop a:after{content:"";background:#667eea;width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-desktop a:hover:after{width:100%}.hamburger{cursor:pointer;color:#667eea;background:0 0;border:none;padding:.5rem;display:none}.nav-mobile{z-index:2000;background-image:linear-gradient(140deg,#0e6dfbe6,#030e20e6),url(/richy4.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;width:280px;height:100vh;padding:2rem;transition:right .4s;position:fixed;top:0;right:0;box-shadow:-5px 0 25px #0003}.nav-mobile-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.nav-mobile-logo{color:#fff;font-size:1.5rem;font-weight:700}.close-btn{cursor:pointer;color:#fff;background:0 0;border:none;padding:.5rem}.nav-mobile-list{flex-direction:column;justify-content:center;align-items:center;gap:.9rem;height:100%;margin:0;padding:0;list-style:none;display:flex}.nav-mobile-list li{text-align:center;width:100%;position:relative}.nav-mobile-list li:after{content:"";background:#ffffff4d;width:60%;height:1px;margin:1rem auto 0;display:block}.nav-mobile-list li:last-child:after{display:none}.nav-mobile-list a{color:#fff;letter-spacing:.5px;padding:.6rem 0;font-size:1.25rem;font-weight:500;text-decoration:none;transition:transform .3s,opacity .3s;display:inline-block}.nav-mobile-list a:hover{opacity:.85;transform:translateY(-2px)}.overlay{z-index:1500;background:#00000080;position:fixed;inset:0}.hero{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle,#667eea1a 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-50%;right:-20%}.hero-container{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;display:grid;position:relative}.hero-content h1{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:800;line-height:1.2}.hero-content .subtitle{color:#4a5568;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.hero-content p{color:#718096;margin-bottom:2rem;font-size:1.1rem;line-height:1.8}.hero-buttons{flex-wrap:wrap;gap:1rem;display:flex}.btn-primary,.btn-secondary{border-radius:8px;align-items:center;gap:.5rem;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 25px #667eea4d}.btn-secondary{color:#667eea;background:#fff;border:2px solid #667eea}.btn-secondary:hover{color:#fff;background:#667eea;transform:translateY(-3px);box-shadow:0 10px 25px #667eea33}.hero-image{justify-content:center;align-items:center;display:flex;position:relative}.blob-container{width:400px;height:400px;animation:6s ease-in-out infinite float;position:relative}.blob{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:30% 70% 70% 30%/30% 30% 70% 70%;width:100%;height:100%;animation:8s ease-in-out infinite morph;position:relative;overflow:hidden;box-shadow:0 20px 60px #667eea66}.profile-image{object-fit:cover;opacity:.9;width:100%;height:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes morph{0%,to{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}25%{border-radius:58% 42% 75% 25%/76% 46% 54% 24%}50%{border-radius:50% 50% 33% 67%/55% 27% 73% 45%}75%{border-radius:33% 67% 58% 42%/63% 68% 32% 37%}}.social-links{gap:1rem;margin-top:2rem;display:flex}.social-link{color:#667eea;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex;box-shadow:0 4px 15px #0000001a}.social-link:hover{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);transform:translateY(-5px);box-shadow:0 8px 25px #667eea4d}.about{background:#fff;padding:6rem 2rem}.section-container{max-width:1200px;margin:0 auto}.section-title{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:3rem;font-size:2.5rem;font-weight:700}.about-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.about-card{text-align:center;background:#f7fafc;border:2px solid #0000;border-radius:12px;padding:2rem;transition:all .3s}.about-card:hover{border-color:#667eea;transform:translateY(-10px);box-shadow:0 15px 40px #667eea26}.about-icon{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.5rem;display:flex}.about-card h3{color:#2d3748;margin-bottom:1rem;font-size:1.5rem}.about-card p{color:#718096;line-height:1.8}.tech-stack{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);padding:6rem 2rem}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;display:grid}.tech-category{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 10px 30px #00000014}.tech-category h3{color:#2d3748;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.5rem;display:flex}.tech-item{margin-bottom:1.5rem}.tech-header{color:#4a5568;justify-content:space-between;margin-bottom:.5rem;font-weight:600;display:flex}.progress-bar{background:#e2e8f0;border-radius:10px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);border-radius:10px;height:100%;transition:width 1s}.projects{background:#fff;padding:6rem 2rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem;display:grid}.project-card{background:#fff;border:2px solid #0000;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 10px 30px #00000014}.project-card:hover{border-color:#667eea;transform:translateY(-10px);box-shadow:0 20px 50px #667eea33}.project-image{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:260px;display:flex;overflow:hidden}.project-image img{object-fit:contain;width:100%;height:100%}.project-content{padding:2rem}.project-content h3{color:#2d3748;margin-bottom:.5rem;font-size:1.5rem}.project-category{color:#667eea;margin-bottom:1rem;font-size:.9rem;font-weight:600}.project-content p{color:#718096;margin-bottom:1.5rem;line-height:1.8}.tech-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tech-tag{color:#667eea;background:#edf2f7;border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:500}.project-link{color:#667eea;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;transition:gap .3s;display:inline-flex}.project-link:hover{gap:1rem}.contact{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:6rem 2rem}.contact .section-title{color:#fff;-webkit-text-fill-color:white}.contact-grid{grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;display:grid}.contact-info h3{margin-bottom:1rem;font-size:1.8rem}.contact-info p{opacity:.9;margin-bottom:2rem;line-height:1.8}.contact-details{flex-direction:column;gap:1.5rem;display:flex}.contact-item{background:#ffffff1a;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex}.contact-item:hover{background:#fff3;transform:translate(10px)}.contact-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 20px 60px #0003}.form-group{margin-bottom:1.5rem}.form-group label{color:#2d3748;margin-bottom:.5rem;font-weight:600;display:block}.form-group input,.form-group textarea{border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group textarea{resize:vertical;min-height:150px}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;width:100%;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.submit-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px #667eea4d}.footer{color:#fff;text-align:center;background:#1a202c;padding:2rem}.footer p{opacity:.8}@media (max-width:968px){.nav-desktop{display:none}.hero-image{order:-1;margin-top:30px}.hamburger{display:block}.hero-container{text-align:center;grid-template-columns:1fr}.hero-content h1{font-size:2.5rem}.hero-buttons{justify-content:center}.blob-container{width:300px;height:300px}.about-grid,.contact-grid,.projects-grid{grid-template-columns:1fr}}@media (max-width:640px){.header-container{padding:1rem}.hero{padding:5rem 1rem 3rem}.hero-content h1{font-size:2rem}.hero-content .subtitle{font-size:1.2rem}.section-title{font-size:2rem}.blob-container{width:250px;height:250px}.hero-buttons{flex-direction:column;width:100%}.btn-primary,.btn-secondary{justify-content:center;width:100%}.nav-mobile{width:100%;right:0}}.hero-stats{border-top:2px solid #ffffff1a;border-bottom:2px solid #ffffff1a;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2rem 0;padding:2rem 0;display:grid}.stat-item{text-align:center}.stat-number{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:3rem;font-weight:700}.stat-label{color:#a0aec0;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.about-intro{text-align:center;max-width:900px;margin:0 auto 3rem}.about-intro p{color:#718096;font-size:1.1rem;line-height:1.8}.experience{background:linear-gradient(135deg,#1a202c 0%,#2d3748 100%);padding:6rem 2rem}.timeline{max-width:1000px;margin:0 auto;padding:2rem 0;position:relative}.timeline:before{content:"";background:linear-gradient(#667eea 0%,#764ba2 100%);border-radius:2px;width:4px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.timeline-item{margin-bottom:4rem;display:flex;position:relative}.timeline-item:nth-child(odd){flex-direction:row}.timeline-item:nth-child(2n){flex-direction:row-reverse}.timeline-marker{color:#fff;z-index:2;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 0 6px #1a202c,0 0 20px #667eea80}.timeline-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;width:calc(50% - 50px);padding:2rem;transition:all .3s}.timeline-item:nth-child(odd) .timeline-content{margin-left:0;margin-right:auto;padding-right:2.5rem}.timeline-item:nth-child(2n) .timeline-content{margin-left:auto;margin-right:0;padding-left:2.5rem}.timeline-content:hover{border-color:#667eea80;transform:translateY(-5px);box-shadow:0 20px 40px #0000004d}.timeline-year{color:#667eea;background:#667eea1a;border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.timeline-content h3{color:#fff;margin-bottom:.5rem;font-size:1.5rem}.timeline-content h4{color:#a0aec0;margin-bottom:1rem;font-size:1.1rem;font-weight:500}.timeline-content p{color:#cbd5e0;margin-bottom:1.5rem;line-height:1.7}.achievements-list{margin:1.5rem 0 0;padding:0;list-style:none}.achievements-list li{color:#e2e8f0;margin-bottom:.8rem;padding-left:1.5rem;line-height:1.6;position:relative}.achievements-list li:before{content:"✓";color:#667eea;font-weight:700;position:absolute;left:0}@media (max-width:768px){.timeline:before{left:20px}.timeline-marker{width:40px;height:40px;left:20px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){flex-direction:row}.timeline-content,.timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(2n) .timeline-content{width:calc(100% - 80px);margin-left:80px;padding:1.5rem}}.project-screenshot-container{background:#1a202c;border-radius:12px 12px 0 0;width:100%;height:300px;position:relative;overflow:hidden}.project-screenshot{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-screenshot{transform:scale(1.05)}.screenshot-navigation{background:linear-gradient(#0000,#000c);justify-content:space-between;align-items:center;padding:1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.nav-btn{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex}.nav-btn:hover{background:#ffffff4d;transform:scale(1.1)}.screenshot-indicators{align-items:center;gap:.5rem;display:flex}.indicator{cursor:pointer;background:#fff6;border-radius:50%;width:10px;height:10px;transition:all .3s}.indicator.active{background:#fff;border-radius:5px;width:30px}.indicator:hover{background:#ffffffb3}.project-links{gap:1rem;margin-top:1.5rem;display:flex}.project-link{border-radius:8px;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.demo-link{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.demo-link:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.github-link{color:#000;background:#0000001a;border:1px solid #f003}.github-link:hover{color:red;background:#ffffff26;border:1px solid #f003;transform:translateY(-2px)}.designs{background:#0f1419;padding:6rem 2rem}.design-category{margin-bottom:4rem}.design-category-title{color:#fff;text-align:center;margin-bottom:2rem;padding-bottom:1rem;font-size:2rem;position:relative}.design-category-title:after{content:"";background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);border-radius:2px;width:100px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.design-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.design-item{aspect-ratio:4/3;border-radius:12px;position:relative;overflow:hidden}.design-image-wrapper{cursor:pointer;border-radius:12px;width:100%;height:100%;position:relative;overflow:hidden}.design-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.design-overlay{background:linear-gradient(#0000,#000000e6);padding:2rem 1.5rem 1.5rem;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.design-image-wrapper:hover .design-overlay{transform:translateY(0)}.design-image-wrapper:hover .design-image{transform:scale(1.1)}.design-overlay h4{color:#fff;margin-bottom:.5rem;font-size:1.1rem}.design-overlay p{color:#a0aec0;font-size:.9rem}@media (max-width:768px){.hero-stats{grid-template-columns:1fr;gap:1.5rem}.stat-number{font-size:2.5rem}.design-grid{grid-template-columns:1fr}.project-links{flex-direction:column}.project-link{justify-content:center}}@media (max-width:480px){.screenshot-navigation{padding:.5rem}.nav-btn{width:35px;height:35px}.indicator{width:8px;height:8px}.indicator.active{width:24px}}
