:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#050816;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}#app{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none;transition:all .3s}@media (hover:hover){a:hover{background-color:#0000}}.nav[data-v-1e9101ed]{z-index:1000;background-color:#f0f0f0;border-bottom-right-radius:10px;border-bottom-left-radius:10px;width:50%;padding:.75rem 1rem;position:relative;top:0;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0000001a}nav[data-v-1e9101ed]{flex-wrap:wrap;justify-content:center;gap:.5rem 0;display:flex}.nav-link[data-v-1e9101ed]{color:#aaa6c3;white-space:nowrap;padding:.25rem .75rem;font-size:clamp(.65rem,1.2vw,.95rem);font-weight:700;text-decoration:none;transition:color .2s}.nav-link[data-v-1e9101ed]:hover{color:#7873a0;background-color:#0000}.hamburger[data-v-1e9101ed],.mobile-menu[data-v-1e9101ed]{display:none}@media (width<=600px){.nav[data-v-1e9101ed]{width:auto;box-shadow:none;z-index:100;background:0 0;padding:0;position:fixed;top:1rem;left:auto;right:1rem;transform:none}nav[data-v-1e9101ed]{display:none}.hamburger[data-v-1e9101ed]{cursor:pointer;z-index:200;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;padding:0;display:flex}.hamburger span[data-v-1e9101ed]{background-color:#aaa6c3;border-radius:2px;width:100%;height:2px;transition:all .3s;display:block}.hamburger.open span[data-v-1e9101ed]:first-child{transform:translateY(9px)rotate(45deg)}.hamburger.open span[data-v-1e9101ed]:nth-child(2){opacity:0}.hamburger.open span[data-v-1e9101ed]:nth-child(3){transform:translateY(-9px)rotate(-45deg)}.mobile-menu[data-v-1e9101ed]{z-index:99;background-color:#1a1a2e;flex-direction:column;gap:1.5rem;width:100%;height:150vh;padding:5rem 2rem 2rem;transition:right .3s;display:flex;position:fixed;top:0;right:-100%;box-shadow:-4px 0 20px #0006}.mobile-menu.active[data-v-1e9101ed]{right:0}.mobile-link[data-v-1e9101ed]{color:#aaa6c3;font-size:2.1rem;font-weight:700;text-decoration:none;transition:color .2s}.mobile-link[data-v-1e9101ed]:hover{color:#915eff}}.hero[data-v-15826028]{flex-direction:row;justify-content:center;align-items:center;gap:2rem;width:100%;padding:0 4rem;display:flex;position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}.intro[data-v-15826028]{flex-direction:column;justify-content:center;display:flex}h1[data-v-15826028]{color:#fff;margin-bottom:1rem;font-size:4rem;font-weight:800}.name[data-v-15826028]{color:#0487cd;font-weight:850}.wave[data-v-15826028]{transform-origin:70% 70%;animation:2s infinite wave-15826028;display:inline-block}@keyframes wave-15826028{0%{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(16deg)}60%{transform:rotate(-8deg)}75%{transform:rotate(10deg)}to{transform:rotate(0)}}p[data-v-15826028]{color:#fff;font-size:2.1rem}.typing[data-v-15826028]{color:#0487cd;font-weight:650}.cursor[data-v-15826028]{animation:.7s infinite blink-15826028}@keyframes blink-15826028{0%,to{opacity:1}50%{opacity:0}}.timeline-line[data-v-15826028]{flex-direction:column;flex-shrink:0;align-items:center;height:340px;display:flex}.dot[data-v-15826028]{background-color:#0487cd;border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 10px #0487cd99}.line[data-v-15826028]{transform-origin:top;background:linear-gradient(#0487cd,#0000);flex:1;width:2px;animation:1s ease-out forwards grow-15826028}@keyframes grow-15826028{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.hero-bottom[data-v-f69c9a70]{flex-direction:column;align-items:center;gap:2.5rem;padding:3rem 1.5rem;display:flex}@media (width>=768px){.hero-bottom[data-v-f69c9a70]{flex-direction:row;justify-content:start;align-items:center;gap:10rem;padding:4rem 15rem}}.photo-block[data-v-f69c9a70]{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.photo-block img[data-v-f69c9a70]{object-fit:cover;border:6px solid #d0dee6;border-radius:50%;width:260px;height:260px;transition:transform .3s;display:block}.photo-block img[data-v-f69c9a70]:hover{transform:scale(1.08)}.btn-row[data-v-f69c9a70]{gap:.6rem;display:flex}.btn[data-v-f69c9a70]{color:#fff;text-align:center;border-radius:10px;padding:.5rem 1.25rem;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .25s,opacity .25s;display:inline-block}.btn[data-v-f69c9a70]:hover{opacity:.9;transform:scale(1.07)}.git[data-v-f69c9a70]{background:#2a2a35}.resume[data-v-f69c9a70]{background:linear-gradient(135deg,#4331ca,#5a46d4)}.linkedin[data-v-f69c9a70]{background:#0077b5}.overview[data-v-f69c9a70]{text-align:center}@media (width>=768px){.overview[data-v-f69c9a70]{text-align:left;margin-top:0}}.label[data-v-f69c9a70]{color:#aaa6c3;letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:.5rem;font-size:.75rem}.overview h1[data-v-f69c9a70]{color:#fff;text-align:center;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:850;line-height:1.05}.subtext[data-v-f69c9a70]{color:#aaa6c3;margin-top:.75rem;font-size:1.1rem}.subtext li[data-v-f69c9a70]{list-style-type:none}.name[data-v-f69c9a70]{color:#0487cd;font-weight:850}.modal-overlay[data-v-910718ea]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#050816b8;justify-content:center;align-items:center;padding:1.5rem;animation:.3s overlay-in-910718ea;display:flex;position:fixed;inset:0}@keyframes overlay-in-910718ea{0%{opacity:0}to{opacity:1}}.modal-content[data-v-910718ea]{color:#fff;background:#1a1a2e;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;width:min(620px,100%);max-height:85vh;animation:.35s cubic-bezier(.22,1,.36,1) modal-in-910718ea;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #00000073,0 0 0 1px #0487cd14}@keyframes modal-in-910718ea{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-accent[data-v-910718ea]{background:linear-gradient(90deg,#0487cd,#4331ca,#0487cd);flex-shrink:0;height:3px}.close-btn[data-v-910718ea]{color:#ffffffb3;cursor:pointer;z-index:2;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,color .2s,transform .2s;display:flex;position:absolute;top:1rem;right:1rem}.close-btn[data-v-910718ea]:hover{color:#fff;background:#ffffff1f;transform:rotate(90deg)}.icon-block[data-v-910718ea]{color:#fff;cursor:pointer;z-index:2;background-color:#2a2a2a;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .3s,transform .3s;display:flex;position:absolute;top:3.2rem;right:4rem}.icon-block[data-v-910718ea]:hover{background-color:#5c5959}.exp-header[data-v-910718ea]{align-items:center;gap:1.25rem;padding:1.75rem 1.75rem 0;display:flex}.logo-wrap[data-v-910718ea]{border:2px solid #0487cd59;border-radius:14px;flex-shrink:0;width:80px;height:80px;overflow:hidden;box-shadow:0 4px 16px #0487cd26}.logo-wrap img[data-v-910718ea]{object-fit:cover;width:100%;height:100%;display:block}.exp-meta[data-v-910718ea]{min-width:0;padding-right:2rem}.label[data-v-910718ea]{color:#aaa6c3;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem;font-size:.7rem}.exp-meta h2[data-v-910718ea]{margin-bottom:.2rem;font-size:1.35rem;font-weight:800;line-height:1.2}.role[data-v-910718ea]{color:#0487cd;margin-bottom:.65rem;font-size:.95rem;font-weight:600}.badges[data-v-910718ea]{flex-wrap:wrap;gap:.5rem;display:flex}.badge[data-v-910718ea]{color:#aaa6c3;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;display:inline-flex}.divider[data-v-910718ea]{background:linear-gradient(90deg,#0000,#ffffff26,#0000);height:1px;margin:1.25rem 1.75rem 0}.exp-body[data-v-910718ea]{padding:1.25rem 1.75rem 1.75rem;overflow-y:auto}.description[data-v-910718ea]{color:#aaa6c3;font-size:.95rem;line-height:1.65}.section[data-v-910718ea]{margin-top:1.5rem}.section h3[data-v-910718ea]{letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;margin-bottom:.75rem;font-size:.75rem;font-weight:700}.section ul[data-v-910718ea]{flex-direction:column;gap:.55rem;list-style:none;display:flex}.section li[data-v-910718ea]{color:#c8c6d7;padding-left:1.1rem;font-size:.9rem;line-height:1.5;position:relative}.section li[data-v-910718ea]:before{content:"";background:#0487cd;border-radius:50%;width:5px;height:5px;position:absolute;top:.55em;left:0;box-shadow:0 0 6px #0487cd80}.tech-tags[data-v-910718ea]{flex-wrap:wrap;gap:.5rem;display:flex}.tech-tag[data-v-910718ea]{color:#fff;background:#0487cd26;border:1px solid #0487cd4d;border-radius:8px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s}.tech-tag[data-v-910718ea]:hover{background:#0487cd40;border-color:#0487cd80}@media (width<=480px){.exp-header[data-v-910718ea]{flex-direction:column;align-items:flex-start;padding-top:2.5rem}.exp-meta[data-v-910718ea]{padding-right:0}}.exp-edu-wrapper[data-v-fcecdeea]{flex-direction:row;justify-content:center;align-items:flex-start;gap:10rem;padding:3rem 4rem;display:flex}.education[data-v-fcecdeea],.experience[data-v-fcecdeea]{flex-direction:column;flex:1;align-items:center;max-width:700px;display:flex}.education h1[data-v-fcecdeea],.experience h1[data-v-fcecdeea]{color:#fff;text-align:center;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:850;line-height:1.05}.label[data-v-fcecdeea]{text-transform:uppercase;text-align:center;font-size:18px}.timeline[data-v-fcecdeea]{width:100%;margin-top:15px;position:relative}.timeline[data-v-fcecdeea]:before{content:"";background:#fff;width:3px;height:85%;position:absolute;left:50%}.timeline-item[data-v-fcecdeea]{width:100%;margin:80px 0;position:relative}.left .content[data-v-fcecdeea]{width:42%;margin-left:0;margin-right:auto}.right .content[data-v-fcecdeea]{width:42%;margin-left:auto;margin-right:0}.content h3[data-v-fcecdeea]{font-weight:900}.content[data-v-fcecdeea]{z-index:1;color:#fff;word-break:normal;background:#ffffff1a;border-radius:10px;padding:20px;transition:transform .25s,background .25s,border-color .25s;position:relative;box-shadow:0 0 10px #0000001a}.content[data-v-fcecdeea]:hover{background:#b1aeae1a}.timeline-item[data-v-fcecdeea]:after{content:"";z-index:0;background:#fff;border-radius:50%;width:60px;height:60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-icon img[data-v-fcecdeea]{z-index:3;background:#fff;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-item.right .date[data-v-fcecdeea]{color:#aaa;white-space:nowrap;position:absolute;top:50%;right:calc(50% + 40px);transform:translateY(-50%)}.timeline-item.left .date[data-v-fcecdeea]{color:#aaa;white-space:nowrap;position:absolute;top:50%;left:calc(50% + 40px);transform:translateY(-50%)}.left .content[data-v-fcecdeea]:after{content:"";z-index:2;border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:10px solid #211d3d;position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.right .content[data-v-fcecdeea]:after{content:"";z-index:2;border-top:10px solid #0000;border-bottom:10px solid #0000;border-right:10px solid #211d3d;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.content-actions[data-v-fcecdeea]{margin-top:1rem;display:flex}.left .content-actions[data-v-fcecdeea]{justify-content:flex-end}.right .content-actions[data-v-fcecdeea]{justify-content:flex-start}.expbtn[data-v-fcecdeea]{letter-spacing:.02em;color:#fff;cursor:pointer;background:#ffffff14;border:2px solid #ffffff59;border-radius:10px;padding:.45rem 1.1rem;font-size:.875rem;font-weight:600;transition:transform .25s,background .25s,border-color .25s;display:inline-block}.expbtn[data-v-fcecdeea]:hover{background:#ffffff29;border-color:#050816;transform:scale(1.05)}.fade-enter-active[data-v-fcecdeea],.fade-leave-active[data-v-fcecdeea]{transition:opacity .35s}.fade-enter-from[data-v-fcecdeea],.fade-leave-to[data-v-fcecdeea]{opacity:0}@media (width<=768px){.exp-edu-wrapper[data-v-fcecdeea]{flex-direction:column;align-items:stretch;gap:3rem;padding:2rem 1.25rem}.education[data-v-fcecdeea],.experience[data-v-fcecdeea]{width:100%;max-width:100%}.label[data-v-fcecdeea]{letter-spacing:.1em;font-size:.75rem}.timeline[data-v-fcecdeea]:before{height:calc(100% - 1rem);left:22px}.timeline-item[data-v-fcecdeea]{flex-direction:column;margin:2rem 0;display:flex}.timeline-item[data-v-fcecdeea]:after{width:44px;height:44px;left:22px}.timeline-icon img[data-v-fcecdeea]{width:32px;height:32px;left:22px}.left .content[data-v-fcecdeea],.right .content[data-v-fcecdeea]{order:1;width:calc(100% - 64px);padding:1rem 1.1rem;margin-left:64px!important;margin-right:0!important}.content h3[data-v-fcecdeea]{font-size:1rem;line-height:1.3}.content p[data-v-fcecdeea],.content li[data-v-fcecdeea]{font-size:.9rem}.timeline-item.left .date[data-v-fcecdeea],.timeline-item.right .date[data-v-fcecdeea]{white-space:normal;order:0;margin-bottom:.35rem;margin-left:64px;font-size:.85rem;position:static;transform:none}.left .content[data-v-fcecdeea]:after,.right .content[data-v-fcecdeea]:after{border:10px solid #0000;border-left:none;border-right-color:#211d3d;left:-10px;right:auto}.left .content-actions[data-v-fcecdeea],.right .content-actions[data-v-fcecdeea]{justify-content:flex-start}}@media (width<=480px){.exp-edu-wrapper[data-v-fcecdeea]{gap:2.5rem;padding:1.5rem 1rem}.education h1[data-v-fcecdeea],.experience h1[data-v-fcecdeea]{font-size:clamp(2rem,9vw,2.75rem)}.timeline[data-v-fcecdeea]:before{left:18px}.timeline-item[data-v-fcecdeea]{margin:1.75rem 0}.timeline-item[data-v-fcecdeea]:after{width:36px;height:36px;left:18px}.timeline-icon img[data-v-fcecdeea]{width:26px;height:26px;left:18px}.left .content[data-v-fcecdeea],.right .content[data-v-fcecdeea]{width:calc(100% - 52px);padding:.85rem .95rem;margin-left:52px!important}.timeline-item.left .date[data-v-fcecdeea],.timeline-item.right .date[data-v-fcecdeea]{margin-left:52px}.expbtn[data-v-fcecdeea]{padding:.4rem .9rem;font-size:.8rem}}.skillsection h1[data-v-9570758f]{color:#fff;text-align:center;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:850;line-height:1.05}.label[data-v-9570758f]{text-transform:uppercase;text-align:center;font-size:18px}.programming[data-v-9570758f]{margin-left:25%}.h21 h2[data-v-9570758f]{margin-top:20px;margin-left:-50px}.hex-grid[data-v-9570758f]{flex-direction:column;gap:0;margin-left:5%;display:flex}.hex-row[data-v-9570758f]{gap:12px;display:flex}.hex-row-bottom[data-v-9570758f]{margin-top:-70px;margin-left:81px}.hex[data-v-9570758f]{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:#2e2256;justify-content:center;align-items:center;width:150px;height:158px;margin-top:5%;transition:background .2s,color .2s,transform 1s;display:flex}.hex img[data-v-9570758f]{object-fit:contain;width:85px;height:85px;transition:transform 1s}.hex[data-v-9570758f]:hover{background:#493783;transform:rotate(90deg)}.hex:hover img[data-v-9570758f]{transform:rotate(-90deg)}.closing-tag[data-v-9570758f]{margin-bottom:10%;margin-left:70%;position:relative}@media (width<=768px){.programming[data-v-9570758f]{margin-left:0;padding:0 1rem}.hex[data-v-9570758f]{width:90px;height:95px;margin-top:15px}.hex img[data-v-9570758f]{width:50px;height:50px}.hex-row-bottom[data-v-9570758f]{margin-top:-42px;margin-left:51px}.closing-tag[data-v-9570758f]{text-align:right;margin-bottom:5%;margin-left:0}}@media (width<=480px){.hex[data-v-9570758f]{width:70px;height:74px;margin-top:35px}.hex img[data-v-9570758f]{width:38px;height:38px}.hex-row-bottom[data-v-9570758f]{margin-top:-32px;margin-left:41px}}.skillsection h1[data-v-731c0360]{color:#fff;text-align:center;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:850;line-height:1.05}.label[data-v-731c0360]{text-transform:uppercase;text-align:center;font-size:18px}.programming[data-v-731c0360]{margin-left:25%}.h21 h2[data-v-731c0360]{margin-top:20px;margin-left:-50px}.hex-grid[data-v-731c0360]{flex-direction:column;gap:0;margin-left:5%;display:flex}.hex-row[data-v-731c0360]{gap:12px;display:flex}.hex-row-bottom[data-v-731c0360]{margin-top:-70px;margin-left:81px}.hex[data-v-731c0360]{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:#2e2256;justify-content:center;align-items:center;width:150px;height:158px;margin-top:5%;transition:background .2s,color .2s,transform 1s;display:flex}.hex img[data-v-731c0360]{object-fit:contain;width:85px;height:85px;transition:transform 1s}.hex[data-v-731c0360]:hover{background:#493783;transform:rotate(90deg)}.hex:hover img[data-v-731c0360]{transform:rotate(-90deg)}.closing-tag[data-v-731c0360]{margin-bottom:10%;margin-left:70%;position:relative}@media (width<=768px){.programming[data-v-731c0360]{margin-left:0;padding:0 1rem}.hex[data-v-731c0360]{width:90px;height:95px}.hex img[data-v-731c0360]{width:50px;height:50px}.hex-row-bottom[data-v-731c0360]{margin-top:-42px;margin-left:51px}.closing-tag[data-v-731c0360]{text-align:right;margin-bottom:5%;margin-left:0}}@media (width<=480px){.hex[data-v-731c0360]{width:70px;height:74px}.hex img[data-v-731c0360]{width:38px;height:38px}.hex-row-bottom[data-v-731c0360]{margin-top:-32px;margin-left:41px}}.certificationsSection h1[data-v-e3131cfe]{color:#fff;text-align:center;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:850;line-height:1.05}.label[data-v-e3131cfe]{text-transform:uppercase;text-align:center;font-size:18px}.cert-grid[data-v-e3131cfe]{grid-template-columns:repeat(auto-fit,220px);justify-content:center;gap:16px;padding:2rem 0;display:grid}.cert-card[data-v-e3131cfe]{cursor:pointer;background:#1a1726;border:1px solid #2e2a45;border-radius:14px;padding:1.2rem;transition:border-color .2s,transform .2s}.cert-card[data-v-e3131cfe]:hover{border-color:#6c5dd3;transform:translateY(-3px)}.cert-logo[data-v-e3131cfe]{object-fit:contain;border-radius:8px;width:48px;height:48px;margin-bottom:12px}.cert-issuer[data-v-e3131cfe]{color:#8b86a8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:12px}.cert-name[data-v-e3131cfe]{color:#fff;margin-bottom:8px;font-size:15px;font-weight:600;line-height:1.3}.cert-date[data-v-e3131cfe]{color:#6c5dd3;font-size:12px}.cert-badge[data-v-e3131cfe]{color:#a89de8;background:#2e2256;border-radius:20px;margin-top:8px;padding:3px 10px;font-size:11px;display:inline-block}.modal-overlay[data-v-e3131cfe]{z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-e3131cfe]{background:#1a1726;border:1px solid #2e2a45;border-radius:16px;width:min(520px,90vw);padding:2rem;position:relative}.close-btn[data-v-e3131cfe]{color:#8b86a8;cursor:pointer;background:0 0;border:none;font-size:1.2rem;transition:transform .3s;position:absolute;top:1rem;right:1rem}.close-btn[data-v-e3131cfe]:hover{color:#fff;transform:rotate(90deg)}.modal-logo[data-v-e3131cfe]{object-fit:contain;background:#2e2256;border-radius:12px;width:64px;height:64px;margin-bottom:1rem;padding:8px}.modal-issuer[data-v-e3131cfe]{color:#8b86a8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:13px}.modal-title[data-v-e3131cfe]{color:#fff;margin-bottom:1rem;font-size:22px;font-weight:700}.divider[data-v-e3131cfe]{opacity:.6;background:#2e2a45;height:1px;margin:1rem 0}.modal-row[data-v-e3131cfe]{color:#b0abc8;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.modal-row span[data-v-e3131cfe]{color:#fff}.modal-link[data-v-e3131cfe]{color:#6c5dd3;align-items:center;gap:6px;margin-top:1rem;font-size:13px;text-decoration:none;display:inline-flex}.modal-link[data-v-e3131cfe]:hover{color:#a89de8}.fade-enter-active[data-v-e3131cfe],.fade-leave-active[data-v-e3131cfe]{transition:opacity .3s}.fade-enter-from[data-v-e3131cfe],.fade-leave-to[data-v-e3131cfe]{opacity:0}.projectsSection[data-v-f8053353]{margin-top:5%}.projectsSection h1[data-v-f8053353]{color:#fff;text-align:center;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:850;line-height:1.05}.label[data-v-f8053353]{text-transform:uppercase;text-align:center;font-size:18px}.proj-grid[data-v-f8053353]{flex-wrap:wrap;justify-content:center;gap:16px;padding:2rem 0;display:flex}.proj-wrapper[data-v-f8053353]{flex-direction:column;width:400px;display:flex}.proj-preview[data-v-f8053353]{object-fit:cover;border-radius:14px 14px 0 0;width:100%;height:220px}.proj-card[data-v-f8053353]{background:#1a1726;border:1px solid #2e2a45;border-radius:0 0 14px 14px;width:100%;padding:1.2rem;transition:border-color .2s,transform .2s}.proj-wrapper:hover .proj-card[data-v-f8053353]{border-color:#6c5dd3}.proj-wrapper[data-v-f8053353]:hover{transition:transform .2s;transform:translateY(-3px)}hr[data-v-f8053353]{border:1px solid #2e2256;border-radius:15px;height:1px;margin:1em 0;padding:0;display:block}.project-title h3[data-v-f8053353]{color:#fff;font-weight:850}.project-skills[data-v-f8053353]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.skill-tag[data-v-f8053353]{color:#b0abc8;background:#2a2440;border:1px solid #3a3560;border-radius:20px;padding:4px 12px;font-size:12px;transition:background .5s}.skill-tag[data-v-f8053353]:hover{background:#564c7a}.project-links[data-v-f8053353]{gap:10px;margin-top:14px;display:flex}.proj-btn[data-v-f8053353]{color:#b0abc8;background:#2a2440;border:1px solid #3a3560;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.proj-btn[data-v-f8053353]:hover{color:#fff;border-color:#6c5dd3}.btn-icon[data-v-f8053353]{filter:brightness(0)invert();width:16px;height:16px}@media (width<=768px){.proj-wrapper[data-v-f8053353]{width:90vw}.proj-preview[data-v-f8053353]{height:180px}.projectsSection[data-v-f8053353]{margin-top:10%}}@media (width<=480px){.proj-wrapper[data-v-f8053353]{width:85vw}.proj-preview[data-v-f8053353]{height:150px}}.content[data-v-c584e5e1]{flex-direction:column;align-items:center;display:flex}hr[data-v-c584e5e1]{border:1px solid #2e2256;border-radius:15px;width:50%;height:1px;margin:1em 0}.footer-row[data-v-c584e5e1]{justify-content:center;align-items:center;gap:24px;padding-bottom:1.5rem;display:flex}.icons[data-v-c584e5e1]{align-items:center;gap:12px;display:flex}.icons a img[data-v-c584e5e1]{opacity:.7;width:24px;height:24px;transition:opacity .2s}.icons a:hover img[data-v-c584e5e1]{opacity:1}.email-btn[data-v-c584e5e1]{color:#b0abc8;cursor:pointer;background:0 0;border:1px solid #3a3650;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:border-color .2s,color .2s;display:flex}.email-btn[data-v-c584e5e1]:hover{color:#fff;border-color:#6c5dd3}.copied-msg[data-v-c584e5e1]{color:#6c5dd3;font-weight:700}.github[data-v-c584e5e1]{filter:brightness(0)invert()}.contact-anchor[data-v-c9a94bad]{position:relative;top:-80px}.contact-section[data-v-c9a94bad]{margin-top:5%}.contact-section h1[data-v-c9a94bad]{color:#fff;text-align:center;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:850;line-height:1.05}.label[data-v-c9a94bad]{text-transform:uppercase;letter-spacing:.1em;color:#8b86a8;text-align:center;margin-bottom:.5rem;font-size:13px}.contact-grid[data-v-c9a94bad]{flex-wrap:wrap;justify-content:center;gap:16px;padding:2rem 10%;display:flex}.contact-wrapper[data-v-c9a94bad]{flex-direction:column;width:400px;display:flex}.contact-card[data-v-c9a94bad]{background:#1a1726;border:1px solid #2e2a45;border-radius:14px;width:100%;padding:1.5rem;transition:border-color .2s,transform .2s}.contact-wrapper:hover .contact-card[data-v-c9a94bad]{border-color:#6c5dd3}.contact-wrapper[data-v-c9a94bad]:hover{transition:transform .2s;transform:translateY(-3px)}.contact-card h3[data-v-c9a94bad]{color:#fff;font-weight:850}hr[data-v-c9a94bad]{border:1px solid #2e2256;border-radius:15px;height:1px;margin:1em 0;padding:0}.form[data-v-c9a94bad]{flex-direction:column;gap:1.2rem;display:flex}.form-row[data-v-c9a94bad]{flex-wrap:wrap;gap:1rem;display:flex}.field[data-v-c9a94bad]{flex-direction:column;flex:1;gap:6px;min-width:140px;display:flex}label[data-v-c9a94bad]{color:#b0abc8;font-size:13px}input[data-v-c9a94bad],textarea[data-v-c9a94bad]{color:#fff;resize:none;background:#22202e;border:1px solid #2e2a45;border-radius:10px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:14px;transition:border-color .2s}input[data-v-c9a94bad]:focus,textarea[data-v-c9a94bad]:focus{border-color:#6c5dd3}.send-btn[data-v-c9a94bad]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4331ca,#6c5dd3);border:none;border-radius:10px;padding:.85rem;font-size:1rem;font-weight:700;transition:opacity .2s,transform .2s}.send-btn[data-v-c9a94bad]:hover{opacity:.9;transform:scale(1.02)}.send-btn[data-v-c9a94bad]:disabled{opacity:.5;cursor:not-allowed}.feedback[data-v-c9a94bad]{text-align:center;font-size:13px}.success[data-v-c9a94bad]{color:#4caf50}.error[data-v-c9a94bad]{color:#f44336}.info-desc[data-v-c9a94bad]{color:#b0abc8;margin-bottom:1rem;font-size:14px}.info-links[data-v-c9a94bad]{flex-direction:column;gap:10px;margin-top:14px;display:flex}.info-btn[data-v-c9a94bad]{color:#b0abc8;background:#2a2440;border:1px solid #3a3560;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.info-btn[data-v-c9a94bad]:hover{color:#fff;border-color:#6c5dd3}@media (width<=768px){.contact-wrapper[data-v-c9a94bad]{width:90vw}.contact-section[data-v-c9a94bad]{margin-top:10%}}@media (width<=480px){.contact-wrapper[data-v-c9a94bad]{width:85vw}}.info-icon[data-v-c9a94bad]{object-fit:contain;width:18px;height:18px}.github[data-v-c9a94bad]{filter:brightness(0)invert()}.intro-wrapper[data-v-9ae6dedd]{height:60vh;position:relative}
