*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}html{scroll-behavior:smooth}.nav-bar{z-index:1000;background:#030b14;border-bottom:1px solid #ffffff14;width:100%;position:fixed;top:0;left:0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex}.logo{flex-direction:column;display:flex}.logo h3{color:#4eebc5;margin:0;font-size:1.5rem;font-weight:700;line-height:1}.logo span{color:#8ea2b8;margin-top:5px;font-size:.75rem;line-height:1}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links li{list-style:none}.nav-links a{color:#4eebc5;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s}.nav-links a:hover{border-bottom:1px solid #fff}.menu-icon{color:#fff;cursor:pointer;font-size:1.5rem;display:none}@media (width<=768px){.nav-container{flex-direction:column;gap:1rem;padding:1rem}.logo{align-items:center}.nav-links{flex-wrap:wrap;justify-content:center;gap:1rem}.nav-links a{font-size:.9rem}.menu-icon{z-index:1001;display:block}.nav-links{background:#030b14;flex-direction:column;justify-content:flex-start;align-items:center;gap:2rem;width:250px;height:calc(100vh - 80px);padding-top:3rem;transition:all .3s;position:fixed;top:80px;right:-100%}.nav-links.active{right:0}}@media (width<=480px){.logo h3{font-size:1.3rem}.logo span{font-size:.7rem}.nav-links{gap:.75rem}.nav-links a{font-size:.85rem}}.hero{background:#030b14;align-items:center;min-height:100vh;padding:100px 2rem 2rem;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;opacity:.4;pointer-events:none;position:absolute;inset:0}.hero-container{z-index:2;justify-content:space-between;align-items:center;gap:6rem;width:100%;max-width:1200px;margin:0 auto;display:flex;position:relative}.hero-img{flex:1;justify-content:center;display:flex}.hero-img img{object-fit:cover;border:2px solid #4eebc5;border-radius:20px;width:350px;height:450px;transition:all .3s}.hero-content{flex:1}.hero-greeting{color:#4eebc5;margin-bottom:.5rem;font-size:1rem;font-weight:500}.hero-content h1{color:#fff;margin-bottom:1rem;font-size:4.5rem;font-weight:800;line-height:1.1}.hero-content h2{color:#8ea2b8;margin-bottom:2rem;font-size:1.8rem;font-weight:500}.tech-stack{flex-wrap:wrap;gap:1.2rem;display:flex}.tech-stack svg{color:#fff;cursor:pointer;font-size:2rem;transition:all .3s}.tech-stack svg:hover{color:#4eebc5;transform:translateY(-5px)}.hero-btn{margin-top:2rem}.hero-btn a{color:#030b14;background:#4eebc5;border-radius:12px;align-items:center;gap:.75rem;padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.hero-btn a:hover{transform:translateY(-4px);box-shadow:0 12px 25px #4eebc54d}.hero-btn a svg{font-size:1rem}.hero-btn a:active{transform:translateY(-1px)}@media (width<=992px){.hero-container{gap:3rem}.hero-content h1{font-size:3.5rem}.hero-content h2{font-size:1.4rem}.hero-img img{width:280px;height:360px}}@media (width<=768px){.hero-container{text-align:center;flex-direction:column;gap:2rem}.hero-content h1{font-size:3rem}.hero-content h2{font-size:1.2rem}.hero-img img{width:240px;height:320px}.tech-stack{justify-content:center}}@media (width<=480px){.hero{padding-top:120px}.hero-content h1{font-size:2.4rem}.hero-content h2{font-size:1rem}.tech-stack svg{font-size:1.7rem}}.about{background:#08111d;min-height:100vh;padding:100px 2rem}.about-container{max-width:1200px;margin:0 auto}.about-header{margin-bottom:3rem}.about-header h2{color:#fff;font-size:3rem;font-weight:700}.line{background:#4eebc5;border-radius:20px;width:80px;height:4px;margin-top:10px}.about-content{margin-bottom:5rem}.about-content p{color:#8ea2b8;max-width:1000px;font-size:1.1rem;line-height:1.9}.education-timeline{padding-left:3rem;position:relative}.education-timeline:before{content:"";background:#4eebc5;width:2px;position:absolute;top:0;bottom:0;left:8px}.timeline-item{margin-bottom:3rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background:#4eebc5;border-radius:50%;width:18px;height:18px;position:absolute;top:8px;left:-3rem;box-shadow:0 0 15px #4eebc580}.timeline-year{color:#4eebc5;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-weight:600}.timeline-content h4{color:#fff;margin:.5rem 0;font-size:1.4rem;font-weight:600}.timeline-content p{color:#8ea2b8;font-size:1rem;line-height:1.7}@media (width<=768px){.about{padding:80px 1.5rem}.about-header h2{font-size:2.5rem}.about-content p{font-size:1rem}.education-timeline{padding-left:2.5rem}.timeline-dot{left:-2.5rem}.timeline-content h4{font-size:1.2rem}}@media (width<=480px){.about-header h2{font-size:2rem}.about-content p{font-size:.95rem}.timeline-content h4{font-size:1.1rem}.timeline-year{font-size:.8rem}}.experiences{background:#030b14;min-height:100vh;padding:100px 2rem}.experiences h2{color:#fff;text-align:center;margin-bottom:3rem;font-size:3rem;font-weight:700}.tab{flex-wrap:wrap;justify-content:center;gap:1rem;max-width:1200px;margin:0 auto 2rem;display:flex}.tab button{color:#8ea2b8;cursor:pointer;background:#101926;border:none;border-radius:12px;padding:14px 24px;font-size:1rem;font-weight:500;transition:all .3s}.tab button:hover{color:#fff;transform:translateY(-2px)}.tab button.active{color:#030b14;background:#4eebc5}.tab-content{background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;max-width:900px;margin:0 auto;padding:2rem}.tab-content h3{color:#fff;margin-bottom:.5rem;font-size:2rem}.company{color:#4eebc5;margin-bottom:1.5rem;font-size:1rem;font-weight:500}.description{color:#8ea2b8;margin-bottom:2rem;line-height:1.9}.skills{flex-wrap:wrap;gap:.8rem;display:flex}.skills span{color:#4eebc5;background:#4eebc51a;border:1px solid #4eebc54d;border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:500}@media (width<=768px){.experiences{padding:80px 1.5rem}.experiences h2{font-size:2.5rem}.tab{flex-direction:column}.tab button{width:100%}.tab-content{padding:1.5rem}.tab-content h3{font-size:1.6rem}}@media (width<=480px){.experiences h2{font-size:2rem}.tab-content h3{font-size:1.3rem}.description{font-size:.95rem}.skills span{font-size:.8rem}}.projects{background:#08111d;min-height:100vh;padding:100px 2rem}.projects h2{text-align:center;color:#fff;margin-bottom:4rem;font-size:3rem;font-weight:700}.project-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch;gap:2rem;max-width:1200px;margin:0 auto;display:grid}.project-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;height:100%;padding:2rem;transition:all .3s;display:flex}.project-card:hover{border-color:#4eebc5;box-shadow:0 15px 35px #4eebc51f}.project-category{color:#4eebc5;background:#4eebc51a;border-radius:999px;width:fit-content;margin-top:1rem;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-block}.project-card h3{color:#fff;margin:1rem 0;font-size:1.5rem}.project-description{color:#8ea2b8;flex-grow:1;line-height:1.8}.project-tech{flex-wrap:wrap;gap:.75rem;margin-top:auto;margin-bottom:2rem;display:flex}.project-tech span{color:#fff;cursor:default;background:#101926;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:500}.project-links{gap:1rem;display:flex}.project-links a{color:#4eebc5;background:#4eebc51a;border:1px solid #4eebc54d;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:12px 18px;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.project-links a:hover{color:#030b14;background:#4eebc5}.project-image{object-fit:cover;border-radius:12px;width:100%;height:220px;margin-bottom:.5rem;display:block}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:3rem;display:flex}.pagination button{color:#00d4ff;cursor:pointer;background:0 0;border:2px solid #00d4ff;border-radius:10px;padding:.8rem 1.8rem;font-size:.95rem;font-weight:600;transition:all .3s}.pagination button:hover:not(:disabled){color:#111827;background:#00d4ff;transform:translateY(-3px);box-shadow:0 10px 25px #00d4ff59}.pagination button:active:not(:disabled){transform:scale(.96)}.pagination button:disabled{color:#666;cursor:not-allowed;opacity:.6;border-color:#555}.pagination span{text-align:center;color:#fff;background:#1e293b;border:1px solid #334155;border-radius:10px;min-width:90px;padding:.8rem 1.2rem;font-weight:600}@media (width<=768px){.projects{padding:80px 1.5rem}.projects h2{font-size:2.5rem}.project-grid{grid-template-columns:1fr}.project-card{padding:1.5rem}.project-card h3{font-size:1.3rem}.project-links{flex-direction:column}.project-links a{width:100%}.project-image{height:200px}}@media (width<=480px){.projects{padding:80px 1rem}.project-grid{grid-template-columns:1fr}.project-card{width:100%;min-width:0}.project-image{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}}.contact{background:#08111d;align-items:center;min-height:100vh;padding:100px 2rem;display:flex}.contact-container{width:100%;max-width:900px;margin:0 auto}.contact-header{text-align:center;margin-bottom:3rem}.contact-header h2{color:#fff;margin-bottom:1rem;font-size:3rem;font-weight:700}.contact-header p{color:#8ea2b8;max-width:700px;margin:0 auto;line-height:1.8}.contact-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:24px;padding:2rem}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-form input,.contact-form textarea{color:#fff;background:#101926;border:1px solid #ffffff14;border-radius:12px;outline:none;width:100%;padding:1rem;font-size:1rem;transition:all .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:#4eebc5;box-shadow:0 0 0 3px #4eebc51a}.contact-form textarea{resize:none}.contact-form button{color:#030b14;cursor:pointer;background:#4eebc5;border:none;border-radius:12px;width:fit-content;padding:14px 28px;font-size:1rem;font-weight:600;transition:all .3s}.contact-form button:hover{box-shadow:0 10px 25px #4eebc540}.contact-socials{justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}.contact-socials a{color:#fff;background:#ffffff0d;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.4rem;text-decoration:none;transition:all .3s;display:flex}.contact-socials a:hover{color:#030b14;background:#4eebc5;border-color:#4eebc5}@keyframes floatIcon{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.contact-socials a{animation:4s ease-in-out infinite floatIcon}.contact-socials a:nth-child(2){animation-delay:1s}.success-message{color:#4eebc5;text-align:center;margin-top:1rem;font-size:.95rem}.error-message{color:#ff6b6b;text-align:center;margin-top:1rem;font-size:.95rem}@media (width<=768px){.contact{padding:80px 1.5rem}.contact-header h2{font-size:2.5rem}.contact-card{padding:1.5rem}.contact-form button{width:100%}}@media (width<=480px){.contact-header h2{font-size:2rem}.contact-header p{font-size:.95rem}.contact-socials a{width:55px;height:55px;font-size:1.2rem}}.loader{background:#030b14;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1rem;display:flex}.loader-content{width:100%;max-width:500px}.loader-content h1{color:#fff;letter-spacing:clamp(4px,1vw,12px);word-break:break-word;margin-bottom:.5rem;font-size:clamp(2.5rem,8vw,5rem);font-weight:700}.loader-content h2{color:#8ea2b8;margin-bottom:3rem;font-size:clamp(.8rem,2vw,1rem);font-weight:400}.loader-content p{color:#4eebc5;letter-spacing:2px;margin-bottom:1rem;font-size:clamp(.75rem,2vw,.9rem)}.loader-content p:after{content:"_";animation:1s infinite blink}.loader-bar{background:#ffffff14;border-radius:999px;width:100%;height:8px;overflow:hidden}.loader-fill{background:linear-gradient(90deg,#4eebc5,#7fffd4);height:100%;transition:width .1s linear;box-shadow:0 0 20px #4eebc580}.loader-content span{color:#fff;text-align:right;margin-top:1rem;font-size:.9rem;display:block}@keyframes blink{50%{opacity:0}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");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}
