body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.nav{align-items:center;background-color:#101010;display:flex;justify-content:space-between;overflow-x:auto;padding:10px 20px}#links ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}#links ul li a{color:#fff;font-family:Futura,sans-serif;font-weight:700;text-decoration:none}#links ul li a:hover{color:#007bff}#logo{align-items:center;display:flex;flex:1 1;justify-content:center}#image{height:80px;width:auto}#link ul{gap:10px}#link ul li img{height:30px;width:30px}.nav-profile-photo{align-items:center;display:flex;margin-left:2rem}.profile-photo{border:3px solid #eee;border-radius:50%;box-shadow:0 2px 14px #00000026;display:block;height:56px;object-fit:cover;transition:box-shadow .2s,border-color .2s;width:56px}.profile-photo:hover{border-color:#fff;box-shadow:0 4px 22px #0000003d}@media (max-width:900px){#logo #image{height:62px}#links ul{gap:12px}#link ul{gap:7px}.nav-profile-photo{margin-left:1rem}.profile-photo{height:44px;width:44px}}@media (max-width:700px){.nav{align-items:stretch;flex-direction:column;flex-wrap:wrap;padding:6px 8vw}#links ul{flex-wrap:wrap;gap:10px;justify-content:center}#logo{margin:8px 0}#image{height:48px}#link ul{gap:4px;justify-content:center}.nav-profile-photo{justify-content:center;margin:10px 0 0}.profile-photo{border-width:2px;height:38px;max-width:80vw;width:38px}}@media (max-width:430px){.nav{padding:4px 3vw}#links ul{font-size:.97rem}}#link ul{align-items:center;display:flex;gap:20px;justify-content:center;list-style:none;margin:0;padding:0}.hamburger{cursor:pointer;display:none;flex-direction:column;padding:8px;z-index:1001}.hamburger .bar{background-color:#fff;height:3px;margin:4px 0;transition:.4s;width:25px}.hamburger .bar.open:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger .bar.open:nth-child(2){opacity:0}.hamburger .bar.open:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width:700px){.hamburger{display:flex}#link,#links{background-color:#101010;display:none;flex-direction:column;text-align:center;width:100%}#link.open,#links.open{animation:slideDown .3s ease forwards;display:flex}#link ul,#links ul{flex-direction:column;gap:10px;padding:10px 0}.nav-icon{height:40px;width:40px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10%)}to{opacity:1;transform:translateY(0)}}}.footer-section{animation:footer-fade-in 1.1s;background:#101010;border-top:1px solid #222;box-shadow:0 -2px 18px #0000001f;color:#fff;padding:1.6em 0 1.2em;text-align:center;width:100%}.footer-content{margin:0 auto;max-width:900px}.footer-text{color:#e4e4e4;font-size:1rem;letter-spacing:.7px;margin-bottom:.5em}.footer-socials{display:flex;gap:1.3em;justify-content:center;margin-top:.2em}.footer-socials a{border-radius:16px;color:#fff;font-size:.98rem;font-weight:600;letter-spacing:.2px;padding:.18em .8em;text-decoration:none;transition:background .16s,color .16s}.footer-socials a:hover{background:#fff;color:#181818}@media (max-width:700px){.footer-text{font-size:.92rem}.footer-section{padding:1.3em 0 .9em}}@keyframes footer-fade-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-section{align-items:center;background:#181818;box-sizing:border-box;color:#fff;display:flex;justify-content:center;min-height:75vh;padding:0 2rem}.hero-content{animation:hero-fade-in 1.2s cubic-bezier(.3,.7,.4,1);background:#111;border-radius:20px;box-shadow:0 8px 32px #0000003d;max-width:600px;padding:3rem 2.5rem;text-align:center}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#dadada 60%,#aaa);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.8rem;font-weight:700;letter-spacing:1.5px;margin-bottom:.5rem}.hero-subtitle{color:#eaeaea;font-size:1.25rem;font-weight:500;letter-spacing:1px;margin-bottom:1.8rem}.hero-intro{color:#f4f4f4;font-size:1.1rem;line-height:1.85;margin-bottom:2.2rem}.hero-cta{background:#fff;border:none;border-radius:28px;box-shadow:0 4px 22px #00000021;color:#111;cursor:pointer;display:inline-block;font-size:1.05rem;font-weight:600;margin:.3rem .5rem;padding:.75em 2em;text-decoration:none;transition:background .2s,color .2s}.hero-cta:hover{background:#222;color:#fff}.hero-cta.secondary{background:#0000;border:2px solid #fff;color:#fff}.hero-cta.secondary:hover{background:#fff;color:#111}@media (max-width:700px){.hero-content{max-width:94vw;padding:2.2rem 1.1rem}.hero-title{font-size:2.1rem}.hero-subtitle{font-size:1.05rem}}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-section{align-items:flex-start;background:#181818;display:flex;justify-content:center;min-height:55vh;padding:56px 0 40px}.about-card{animation:about-fade-in 1.2s cubic-bezier(.3,.7,.4,1);background:#111;border-radius:18px;box-shadow:0 6px 32px 0 #0003;color:#fff;margin:0 16px;max-width:600px;padding:2.8rem 2.2rem;text-align:left;width:92vw}.about-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#ccc 70%,#999);-webkit-background-clip:text;background-clip:text;color:#fff;color:#0000;font-size:2.1rem;font-weight:700;letter-spacing:1px;margin-bottom:1.2rem}.about-text{color:#f2f2f2;font-size:1.1rem;letter-spacing:.01em;line-height:1.8;margin-bottom:0}@media (max-width:700px){.about-card{padding:1.3rem .7rem}.about-title{font-size:1.25rem}.about-text{font-size:.98rem}}@keyframes about-fade-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.projects-section{align-items:center;background:#181818;display:flex;flex-direction:column;min-height:55vh;padding:56px 0 42px}.projects-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#ccc 70%,#999);-webkit-background-clip:text;background-clip:text;color:#fff;color:#0000;font-size:2.1rem;font-weight:700;letter-spacing:1px;margin-bottom:1.6rem;text-align:center}.projects-list{gap:2.2rem;max-width:800px;width:100%}.project-card,.projects-list{display:flex;flex-direction:column}.project-card{animation:project-fade-in 1.1s;background:#111;border:1px solid #232323;border-radius:16px;box-shadow:0 6px 26px #0003;overflow:hidden;transition:box-shadow .2s,border .15s}.project-card:hover{border:1px solid #fff;box-shadow:0 12px 44px 0 #00000040}.project-image{background:#000;display:block;height:auto;margin:0 auto;max-height:350px;object-fit:contain;width:100%}.project-info{padding:1.6rem 1.6rem 2rem}.project-name{color:#fff;font-size:1.38rem;font-weight:600;letter-spacing:.5px;margin-bottom:.27rem}.project-tech{background:#fff;border-radius:13px;color:#181818;display:inline-block;font-size:.89rem;font-weight:600;letter-spacing:.75px;margin-bottom:.7em;padding:.13em .8em}.project-desc{color:#e8e8e8;font-size:1.07rem;line-height:1.7;margin-top:.1rem}.project-links{margin-top:1.2em}.project-link{background:#fff;border-radius:22px;box-shadow:0 2px 12px #0000001a;color:#111;display:inline-block;font-size:1rem;font-weight:700;margin-right:1em;padding:.5em 1.6em;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s}.project-link:hover{background:#232323;box-shadow:0 4px 18px #0000002e;color:#fff}@media (max-width:700px){.projects-list{gap:1.5rem;max-width:95vw}.project-card{padding:0}.project-info{padding:1.3rem 1rem 1.6rem}.project-name{font-size:1.15rem}.project-desc{font-size:1rem}.project-link{font-size:.95rem;padding:.45em 1.3em}}@keyframes project-fade-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.resume-section{background:#181818;display:flex;justify-content:center;min-height:62vh;padding:48px 0 36px}.resume-card{animation:resume-fade-in 1.2s cubic-bezier(.3,.7,.4,1);background:#111;border-radius:18px;box-shadow:0 8px 32px #0000003d;color:#fff;max-width:660px;padding:2.5rem 2rem;width:93vw}.resume-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#ccc 70%,#999);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.1rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem}.resume-block{margin-bottom:2.2rem}.block-title{color:#fff;font-size:1.18rem;font-weight:600;letter-spacing:.5px;margin-bottom:1.1rem}.edu-list,.exp-list{list-style:none;margin:0;padding:0}.edu-list li,.exp-list li{margin-bottom:1.3em;padding-left:1.1em;position:relative}.edu-list li:before,.exp-list li:before{background:#fff;border-radius:50%;content:"";height:7px;left:0;opacity:.6;position:absolute;top:9px;width:7px}.edu-degree,.exp-role{font-size:1.08em;font-weight:500}.edu-school{color:#dadada}.edu-year,.exp-year{color:#aaa;font-size:.97em}.exp-desc{color:#e1e1e1;display:block;font-size:1em;line-height:1.7;margin-top:7px}@media (max-width:700px){.resume-card{padding:1.2rem .7rem}.resume-title{font-size:1.23rem}.block-title{font-size:1rem}}@keyframes resume-fade-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.contact-section{align-items:center;background:#181818;display:flex;justify-content:center;min-height:55vh;padding:56px 0 42px}.contact-card{animation:contact-fade-in 1.2s cubic-bezier(.3,.7,.4,1);background:#111;border-radius:18px;box-shadow:0 6px 32px 0 #0003;max-width:530px;padding:2.6rem 2.1rem 2.3rem;text-align:center;width:93vw}.contact-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#ccc 70%,#999);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.1rem;font-weight:700;letter-spacing:1px;margin-bottom:1.1rem}.contact-text{color:#eee;font-size:1.12rem;letter-spacing:.2px;line-height:1.7;margin-bottom:2.1rem}.contact-link{background:#fff;border:none;border-radius:24px;box-shadow:0 2px 14px #00000026;color:#181818;display:inline-block;font-size:1rem;font-weight:700;letter-spacing:.7px;padding:.62em 2em;text-decoration:none;transition:background .18s,color .18s,box-shadow .18s}.contact-link:hover{background:#1a1a1a;box-shadow:0 4px 28px #00000047;color:#fff}@media (max-width:700px){.contact-card{padding:1.2rem .7rem 1.1rem}.contact-title{font-size:1.23rem}.contact-text{font-size:.99rem}.contact-link{font-size:.98rem;padding:.62em 1.2em}}@keyframes contact-fade-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.contact-links{display:flex;flex-wrap:wrap;gap:1.2em;justify-content:center;row-gap:1em}.contact-extra{color:#fff;margin-top:1.5rem;text-align:center}.contact-remark{color:#fff;font-size:.96em;margin-top:.3em;opacity:.85}.skills-section{align-items:center;background:#181818;display:flex;justify-content:center;min-height:50vh;padding:56px 0 42px}.skills-card{animation:skills-fade-in 1.2s cubic-bezier(.3,.7,.4,1);background:#111;border-radius:18px;box-shadow:0 6px 32px 0 #0003;max-width:570px;padding:2.5rem 2.1rem 2.2rem;width:93vw}.skills-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#ccc 70%,#999);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.1rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem;text-align:center}.skills-list{display:flex;flex-wrap:wrap;gap:1.1em 1.4em;justify-content:center;margin-top:.3em}.skill-item{background:#fff;border-radius:22px;box-shadow:0 2px 12px #0000001a;color:#181818;font-size:1.05rem;font-weight:700;letter-spacing:.6px;margin-bottom:.8em;padding:.46em 1.35em;transition:background .18s,color .18s;-webkit-user-select:none;user-select:none}.skill-item:hover{background:#222;color:#fff}.skill-note{color:#666;font-size:.88em;font-weight:400;margin-left:.35em}@media (max-width:700px){.skills-card{max-width:98vw;padding:1.2rem .7rem 1.1rem}.skills-title{font-size:1.23rem}.skill-item{font-size:.97rem;padding:.37em .99em}}@keyframes skills-fade-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.certificates-section{align-items:center;background:#181818;display:flex;justify-content:center;min-height:50vh;padding:56px 0 42px}.certificates-card{animation:cert-fade-in 1.2s cubic-bezier(.3,.7,.4,1);background:#111111c7;border-radius:18px;box-shadow:0 6px 32px 0 #0003;max-width:570px;padding:2.6rem 2.3rem 2.3rem;width:93vw}.certificates-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#ccc 70%,#999);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:2.1rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem;text-align:center}.certificates-list{list-style:none;margin:0;padding:0}.certificate-item{flex-direction:column}.certificate-item:hover{background:#ffffff29}.certificate-name{font-size:1.08rem;font-weight:600}.certificate-org{color:#dadada;font-size:.99em;margin-top:2px}@media (max-width:700px){.certificates-card{max-width:98vw;padding:1.2rem .7rem 1.1rem}.certificates-title{font-size:1.23rem}.certificate-item{font-size:.97rem;padding:.85em .9em .82em}}@keyframes cert-fade-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.certificate-item{align-items:center;background:#ffffff0f;border-radius:12px;box-shadow:0 1px 8px #00000021;color:#fff;display:flex;font-weight:500;gap:1.25em;letter-spacing:.05em;margin-bottom:1em;padding:1.1em 1.5em .95em;transition:background .16s}.certificate-img{background:#fff;border:2px solid #fff;border-radius:10px;box-shadow:0 0 8px #0000001c;height:75px;object-fit:cover;width:75px}@media (max-width:700px){.certificate-item{align-items:flex-start;flex-direction:column;gap:.7em}.certificate-img{height:60px;width:60px}}.certificate-lightbox{align-items:center;background:#000000ab;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.certificate-lightbox-content{align-items:center;background:#fff;border-radius:9px;box-shadow:0 6px 32px #00000052;display:flex;flex-direction:column;max-height:90vh;max-width:92vw;padding:1.2em;position:relative}.certificate-lightbox-content img{max-height:80vh;max-width:90vw;object-fit:contain}.lightbox-close{background:none;border:none;color:#222;cursor:pointer;font-size:2rem;font-weight:700;position:absolute;right:.5em;top:.25em;transition:color .15s}.lightbox-close:hover{color:#007bff}
/*# sourceMappingURL=main.91fb3920.css.map*/