@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{--nav-strip: 64px;--nav-full: 260px;--nav-mobile-h: 60px;font-family:Inter,Arial,sans-serif;line-height:1.5;font-weight:400;font-size:16px;color-scheme:dark;color:#fff;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh;background-color:#000;color:#fff}.Toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:0;cursor:pointer;flex-shrink:0;padding:0}.Toggle span{position:relative;display:block;width:20px;height:2px;background-color:#ffffffbf;transition:background-color .15s .15s}.Toggle span:before,.Toggle span:after{content:"";position:absolute;left:0;display:block;width:20px;height:2px;background-color:#ffffffbf;transition:margin .15s .15s,transform .15s}.Toggle span:before{margin-top:-6px}.Toggle span:after{margin-top:6px}.Toggle.is-active span{background-color:transparent;transition-delay:0s}.Toggle.is-active span:before{margin-top:0;transform:rotate(45deg);transition:margin .15s,transform .15s .15s}.Toggle.is-active span:after{margin-top:0;transform:rotate(-45deg);transition:margin .15s,transform .15s .15s}.Navbar a{text-decoration:none;color:inherit}.Navbar ul{list-style:none;padding:0;margin:0}body{padding-top:var(--nav-mobile-h);padding-left:0}.Navbar{position:fixed;z-index:1000;background-color:#000;color:#fff;top:0;left:0;right:0;height:var(--nav-mobile-h);display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.Navbar-brand{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffffe6;text-decoration:none;background:transparent;border:0;cursor:pointer;font-family:inherit;padding:0}.Navbar-quickLinks{display:none}.Navbar-menu{position:fixed;top:var(--nav-mobile-h);left:0;right:0;bottom:0;background-color:#000000f7;display:flex;flex-direction:column;padding:2rem 1.5rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,visibility .2s,transform .2s ease;overflow-y:auto;line-height:1.5}.Navbar-menu.is-active{opacity:1;visibility:visible;transform:translateY(0)}.navProfilePicture{display:block;width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;border:1px solid rgba(255,255,255,.15)}.Navbar-menu-major a{display:block;padding:.875rem 0;font-size:.9375rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;border-bottom:1px solid rgba(255,255,255,.06);transition:color .15s}.Navbar-menu-major a:hover,.Navbar-menu-major a.active{color:#fff}.Navbar-menu-major a.active{font-weight:700}.Navbar-menu-minor{margin-top:auto;padding-top:1.5rem}.Navbar-menu-minor .social-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:#fff6;border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;transition:color .15s}.Navbar-menu-minor .social-link:hover{color:#fff}.Navbar-menu-langs{display:flex;gap:1.25rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.Navbar-menu-langs a{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff4d;text-decoration:none;transition:color .15s}.Navbar-menu-langs a.active-lang{color:#fff}.Navbar-menu-langs img{width:18px;height:auto}@media(min-width:768px){body{padding-top:0;padding-left:var(--nav-strip)}.Navbar{top:0;right:auto;bottom:0;width:var(--nav-strip);height:auto;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;border-bottom:none;border-right:1px solid rgba(255,255,255,.08)}.Navbar-toggle{margin-top:.875rem;flex-shrink:0;position:relative;z-index:1}.Navbar-brand{position:absolute;top:52px;bottom:96px;left:0;width:var(--nav-strip);writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff9;text-decoration:none;transition:color .2s;white-space:nowrap;background:transparent;border:0;cursor:pointer;font-family:inherit;padding:0}.Navbar-brand:hover{color:#fffffff2}.Navbar-quickLinks{display:flex;flex-direction:column;align-items:center;position:absolute;bottom:.75rem;left:0;width:var(--nav-strip);gap:2px;padding:0;transform:none;white-space:normal}.Navbar-quickLinks li{display:block;width:100%;text-align:center}.Navbar-quickLinks a{display:flex;align-items:center;justify-content:center;padding:4px 0;font-size:.5625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff38;text-decoration:none;transition:color .15s}.Navbar-quickLinks a:hover,.Navbar-quickLinks a.active-lang{color:#ffffffe6}.Navbar-quickLinks img{display:none}.Navbar-menu{position:fixed;top:0;left:var(--nav-strip);bottom:0;right:auto;width:0;overflow:hidden;visibility:hidden;background-color:#050505;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;opacity:0;transform:none;padding:0;transition:width .28s cubic-bezier(.4,0,.2,1),opacity .22s ease,visibility .28s}.Navbar-menu.is-active{width:calc(var(--nav-full) - var(--nav-strip));opacity:1;visibility:visible;padding:2rem 0}.navProfilePicture{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 1.25rem;border:1px solid rgba(255,255,255,.15)}.Navbar-menu-major a{display:block;padding:.875rem 1.75rem;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73;border-bottom:none;white-space:nowrap;transition:color .15s,background-color .15s}.Navbar-menu-major a:hover{color:#fff;background-color:#ffffff0a}.Navbar-menu-major a.active{color:#fff;font-weight:700}.Navbar-menu-minor{margin-top:auto;padding-top:0;border-top:1px solid rgba(255,255,255,.07)}.Navbar-menu-minor .social-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff59;border-bottom:none;text-decoration:none;white-space:nowrap;transition:color .15s,background-color .15s}.Navbar-menu-minor .social-link:hover{color:#fff;background-color:#ffffff0a}.Navbar-menu-langs{display:none}}.Home{min-height:100vh;padding:2rem;color:#fff;background-color:#000}.hero-section{max-width:1200px;margin:0 auto 5rem;padding:3rem 0;animation:fadeInUp .7s ease-out both}.hero-content{text-align:center}.hero-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.75rem,5vw,3rem);font-weight:700;margin-bottom:1.5rem;line-height:1.2}.hero-title .highlight{color:#fff;display:block}.hero-title .highlight:focus,.hero-title .highlight:focus-visible,.hero-title .highlight:active{outline:none;border:none;box-shadow:none}.hero-title-subtitle{font-family:Space Grotesk,sans-serif;font-size:clamp(1rem,2.5vw,1.375rem);font-weight:600;display:block;margin-top:.5rem;color:#ffffffbf}.hero-description{font-size:clamp(1rem,2vw,1.125rem);font-weight:600;margin-bottom:1.25rem;color:#ffffffe6}.hero-text{font-size:1rem;text-align:justify;line-height:1.8;max-width:780px;margin:0 auto 1.5rem;color:#ffffffbf}.hero-text strong{color:#fff;font-weight:600}.section-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.375rem,3.5vw,2rem);font-weight:700;margin-bottom:.75rem;text-align:center}.section-subtitle{font-size:clamp(.875rem,2vw,1rem);text-align:center;margin-bottom:2.5rem;color:#fff9;max-width:600px;margin-left:auto;margin-right:auto}.skills-section{max-width:1200px;margin:0 auto 5rem;padding:3rem 0;animation:fadeInUp .7s ease-out .15s both}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:2rem}.skill-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;padding:1.5rem;transition:background-color .25s,border-color .25s,transform .25s}.skill-card:hover{background:#ffffff12;border-color:#ffffff29;transform:translateY(-4px)}.skill-category{font-size:.9375rem;font-weight:600;margin-bottom:1rem;color:#fff;letter-spacing:.02em}.skill-items{display:flex;flex-wrap:wrap;gap:.25rem .125rem}.skill-tag{position:relative;display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .375rem;font-family:Space Mono,Fira Code,Courier New,monospace;font-size:.9375rem;font-weight:400;color:#ffffffb8;background:transparent;border:none;cursor:default;transition:color .2s;letter-spacing:.01em}.skill-tag:before{content:"<";color:#ffffff38;transition:color .25s;font-weight:700}.skill-tag:after{content:"/>";color:#ffffff38;transition:color .25s;font-weight:700}.skill-tag:hover{color:#fff}.skill-tag:hover:before,.skill-tag:hover:after{color:#ffffff8c}.languages-section{max-width:1200px;margin:0 auto 5rem;padding:3rem 0;animation:fadeInUp .7s ease-out .3s both}.languages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:2rem}.language-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:background-color .25s,border-color .25s,transform .25s}.language-card:hover{background:#ffffff12;border-color:#ffffff29;transform:translateY(-4px)}.language-flag{font-size:2rem;line-height:1;flex-shrink:0}.language-info{flex:1}.language-name{font-size:.9375rem;font-weight:600;margin-bottom:.25rem;color:#fff}.language-level{font-size:.8125rem;color:#ffffff8c}.contact-section{max-width:1200px;margin:0 auto 5rem;padding:3rem 0;animation:fadeInUp .7s ease-out .45s both}.contact-links{display:flex;justify-content:center;gap:1.25rem;margin-top:2rem;flex-wrap:wrap}.contact-link{display:flex;align-items:center;gap:.625rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;padding:.875rem 1.5rem;font-size:.9375rem;color:#fff;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s}.contact-link:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-2px)}.contact-icon{font-size:1.25rem}@media(max-width:767px){.Home{padding:1.25rem}.hero-section,.skills-section,.languages-section,.contact-section{padding:2rem 0;margin-bottom:3rem}.skills-grid{grid-template-columns:1fr}.languages-grid{grid-template-columns:1fr 1fr}.contact-links{flex-direction:column;align-items:stretch}.contact-link{justify-content:center}}@media(max-width:420px){.languages-grid{grid-template-columns:1fr}}.MyWork{min-height:100vh;padding:2rem;color:#fff;background-color:#000}.work-hero{max-width:1200px;margin:0 auto 3rem;padding:3rem 0 1.5rem;text-align:center;animation:fadeInUp .7s ease-out}.work-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.75rem,5vw,3rem);font-weight:700;margin-bottom:1rem;line-height:1.2}.work-subtitle{font-size:clamp(.9375rem,2vw,1.0625rem);line-height:1.7;color:#ffffffb3;max-width:600px;margin:0 auto}.empty-state{max-width:1200px;margin:0 auto;padding:4rem 2rem;text-align:center}.empty-message{font-size:1.125rem;color:#fff9;margin-bottom:.75rem}.empty-hint{font-size:.9375rem;color:#fff6}.projects-section{max-width:1200px;margin:0 auto;padding:1rem 0;animation:fadeInUp .7s ease-out .15s both}.tech-filters{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:2.5rem;justify-content:center;align-items:center}.tech-filter-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:2rem;padding:.5rem 1.125rem;font-size:.8125rem;font-weight:500;color:#ffffffa6;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;font-family:inherit}.tech-filter-btn:hover{background:#ffffff14;border-color:#fff3;color:#fff}.tech-filter-btn.active{background:#fff;border-color:#fff;color:#000;font-weight:600}.no-projects-message{text-align:center;padding:4rem 2rem;font-size:1rem;color:#ffffff80}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;overflow:hidden;cursor:pointer;transition:background-color .25s,border-color .25s,transform .25s,box-shadow .25s;display:flex;flex-direction:column}.project-card:hover{background:#ffffff12;border-color:#fff3;transform:translateY(-4px);box-shadow:0 8px 24px #0006}.project-image-container{position:relative;width:100%;padding-top:56.25%;overflow:hidden;background:#ffffff0a}.project-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image{transform:scale(1.04)}.project-overlay{position:absolute;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}.project-card:hover .project-overlay{opacity:1}.view-details{color:#fff;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.project-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-title{font-size:1.0625rem;font-weight:600;margin-bottom:.625rem;color:#fff;line-height:1.3}.project-description{font-size:.9375rem;line-height:1.65;color:#ffffffa6;margin-bottom:1.25rem;flex:1}.project-technologies{display:flex;flex-wrap:wrap;gap:.125rem;margin-top:auto}.tech-tag{position:relative;display:inline-flex;align-items:center;gap:.2rem;padding:.25rem .3125rem;font-family:Space Mono,Fira Code,Courier New,monospace;font-size:.875rem;font-weight:400;color:#fff9;background:transparent;border:none;letter-spacing:.01em;transition:color .2s}.tech-tag:before{content:"<";color:#fff3;font-weight:700;transition:color .2s}.tech-tag:after{content:"/>";color:#fff3;font-weight:700;transition:color .2s}.project-card:hover .tech-tag{color:#fffc}.project-card:hover .tech-tag:before,.project-card:hover .tech-tag:after{color:#fff6}.modal-backdrop{position:fixed;inset:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .25s ease-out;overflow-y:auto}.modal-container{position:relative;max-width:860px;width:100%;max-height:90vh;background:#0a0a0a;border:1px solid rgba(255,255,255,.14);border-radius:.5rem;overflow:hidden;animation:slideUp .25s ease-out;display:flex;flex-direction:column}.modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#fff;font-size:1.375rem;line-height:1;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center;transition:background-color .2s,transform .2s}.modal-close:hover{background:#ffffff29;transform:rotate(90deg)}.modal-content{overflow-y:auto;max-height:90vh;scrollbar-width:none}.modal-content::-webkit-scrollbar{display:none}.modal-image-container{width:100%;max-height:360px;overflow:hidden;background:#ffffff0a}.modal-image{width:100%;height:auto;object-fit:cover;display:block}.modal-body{padding:2.5rem}.modal-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;margin-bottom:1.5rem;color:#fff}.modal-description{font-size:1rem;line-height:1.75;color:#ffffffd9;margin-bottom:2rem}.modal-description p{font-size:1rem;line-height:1.75;margin-bottom:1rem}.modal-description h1,.modal-description h2,.modal-description h3,.modal-description h4,.modal-description h5,.modal-description h6{font-weight:600;margin-top:1.5rem;margin-bottom:.75rem;color:#fff}.modal-description h1{font-size:1.5rem}.modal-description h2{font-size:1.25rem}.modal-description h3{font-size:1.0625rem}.modal-description ul,.modal-description ol{margin-left:1.5rem;margin-bottom:1rem}.modal-description li{font-size:1rem;line-height:1.75;margin-bottom:.375rem}.modal-description strong{font-weight:600;color:#fff}.modal-description code{background:#ffffff14;padding:.125rem .375rem;border-radius:.25rem;font-size:.875em}.modal-description a{color:#ffffffd9;text-decoration:underline}.modal-description a:hover{color:#fff}.modal-description img{display:block;max-width:100%;height:auto;margin:1.25rem auto 0;border-radius:.375rem;border:1px solid rgba(255,255,255,.1)}.modal-technologies{margin-bottom:1.5rem}.modal-section-title{font-size:.9375rem;font-weight:600;margin-bottom:.875rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.08em}.modal-tech-tags{display:flex;flex-wrap:wrap;gap:.25rem .125rem}.modal-tech-tag{position:relative;display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .375rem;font-family:Space Mono,Fira Code,Courier New,monospace;font-size:.9375rem;font-weight:400;color:#ffffffbf;background:transparent;border:none;letter-spacing:.01em}.modal-tech-tag:before{content:"<";color:#ffffff40;font-weight:700}.modal-tech-tag:after{content:"/>";color:#ffffff40;font-weight:700}.modal-links{display:flex;gap:.875rem;flex-wrap:wrap;margin-top:1.5rem}.modal-link{display:flex;align-items:center;gap:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:.375rem;padding:.75rem 1.375rem;font-size:.9375rem;color:#fff;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s}.modal-link:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-2px)}.link-icon{font-size:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.MyWork{padding:1.25rem}.work-hero,.projects-section{padding:2rem 0;margin-bottom:2rem}.tech-filters{gap:.5rem;margin-bottom:1.5rem}.projects-grid{grid-template-columns:1fr;gap:1.25rem}.modal-backdrop{padding:.75rem;align-items:flex-start}.modal-container{max-height:none}.modal-body{padding:1.75rem 1.25rem}.modal-links{flex-direction:column}.modal-link{justify-content:center}}@media(max-width:420px){.project-content{padding:1.25rem}.modal-image-container{max-height:220px}}.Contact{min-height:100vh;padding:2rem;color:#fff;background-color:#000}.contact-hero{max-width:1200px;margin:0 auto 3rem;padding:3rem 0 1.5rem;text-align:center;animation:fadeInUp .7s ease-out}.contact-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.75rem,5vw,3rem);font-weight:700;margin-bottom:1rem;line-height:1.2}.contact-subtitle{font-size:clamp(.9375rem,2vw,1.0625rem);line-height:1.7;color:#ffffffb3;max-width:600px;margin:0 auto}.contact-methods{max-width:1200px;margin:0 auto 4rem;padding:1rem 0;animation:fadeInUp .7s ease-out .15s both}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.contact-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;padding:2rem;display:flex;align-items:center;gap:1.25rem;text-decoration:none;color:#fff;transition:background-color .25s,border-color .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden}.contact-card:hover{background:#ffffff12;border-color:#fff3;transform:translateY(-4px);box-shadow:0 8px 24px #00000059}.contact-icon{font-size:2rem;line-height:1;flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#ffffff12;border-radius:50%;transition:transform .25s}.contact-card:hover .contact-icon{transform:scale(1.08)}.contact-info{flex:1;min-width:0}.contact-type{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin-bottom:.375rem}.contact-value{font-size:1rem;font-weight:600;margin-bottom:.25rem;color:#fff;word-break:break-word}.contact-description{font-size:.875rem;color:#ffffff80;margin:0;line-height:1.5}.contact-arrow{font-size:1.25rem;opacity:0;transform:translate(-8px);transition:opacity .25s,transform .25s;flex-shrink:0;color:#ffffffb3}.contact-card:hover .contact-arrow{opacity:1;transform:translate(0)}.contact-social{max-width:1200px;margin:0 auto 4rem;padding:1rem 0;animation:fadeInUp .7s ease-out .3s both}.section-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.375rem,3.5vw,2rem);font-weight:700;margin-bottom:2rem;text-align:center}.social-links{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:.625rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.375rem;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:500;color:#fff;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;letter-spacing:.02em}.social-link:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-2px)}.social-icon{font-size:1.125rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.Contact{padding:1.25rem}.contact-hero,.contact-methods,.contact-social{padding:2rem 0;margin-bottom:2.5rem}.contact-grid{grid-template-columns:1fr}.contact-card{padding:1.5rem}.social-links{flex-direction:column;align-items:stretch}.social-link{justify-content:center}}@media(max-width:420px){.contact-card{flex-direction:column;text-align:center;gap:.875rem}.contact-arrow{display:none}}#root{width:100%;min-height:100vh}
