@import url(https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap);.navbar[data-v-14b1524e]{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;background:rgba(8,8,16,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid hsla(0,0%,100%,.06);transition:padding .3s ease}.nav-brand[data-v-14b1524e]{font-family:Sora,sans-serif;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;text-decoration:none;background:linear-gradient(135deg,#7c6fea,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-nav[data-v-14b1524e]{gap:4px;align-items:center}.nav-link[data-v-14b1524e]{font-family:Sora,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.05em;color:rgba(232,230,240,.6)!important;text-decoration:none;padding:7px 14px!important;border-radius:7px;transition:all .2s ease;position:relative}.nav-link[data-v-14b1524e]:hover{color:#e8e6f0!important;background:hsla(0,0%,100%,.06)}.nav-link.router-link-active[data-v-14b1524e]{color:#a89ff5!important;background:rgba(124,111,234,.1)}.nav-link-cta[data-v-14b1524e]{background:rgba(124,111,234,.15)!important;border:1px solid rgba(124,111,234,.3)!important;color:#a89ff5!important;padding:7px 18px!important;margin-left:6px}.nav-link-cta[data-v-14b1524e]:hover{border-color:rgba(124,111,234,.5)!important}.nav-link-cta.router-link-active[data-v-14b1524e],.nav-link-cta[data-v-14b1524e]:hover{background:rgba(124,111,234,.25)!important;color:#c4bcff!important}.navbar-toggler[data-v-14b1524e]{background:transparent;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;padding:8px 10px;display:none;flex-direction:column;gap:5px;cursor:pointer}.navbar-toggler[data-v-14b1524e]:focus{box-shadow:none;outline:none}.toggler-icon[data-v-14b1524e]{display:block;width:20px;height:2px;background:rgba(232,230,240,.7);border-radius:2px;transition:all .2s ease}@media (max-width:991px){.navbar-toggler[data-v-14b1524e]{display:flex}.navbar-collapse[data-v-14b1524e]{margin-top:16px;padding:16px;background:rgba(8,8,16,.95);border:1px solid hsla(0,0%,100%,.07);border-radius:12px}.navbar-nav[data-v-14b1524e]{gap:4px}.nav-link[data-v-14b1524e]{display:block;padding:10px 14px!important}.nav-link-cta[data-v-14b1524e]{margin-left:0;margin-top:6px;text-align:center;display:block}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{background-color:#080810;scroll-behavior:smooth}body{font-family:Sora,sans-serif;color:#e8e6f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#app,.app-root,body{background-color:#080810;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Sora,sans-serif;color:#f0eeff;letter-spacing:-.02em;line-height:1.2}li,p,span{letter-spacing:.01em;line-height:1.7}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#080810}::-webkit-scrollbar-thumb{background:rgba(124,111,234,.35);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(124,111,234,.6)}::-moz-selection{background:rgba(124,111,234,.3);color:#f0eeff}::selection{background:rgba(124,111,234,.3);color:#f0eeff}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .25s ease,transform .25s ease}.page-fade-enter-from{opacity:0;transform:translateY(16px)}.page-fade-leave-to{opacity:0;transform:translateY(-10px)}.line{width:48px;height:3px;background:linear-gradient(135deg,#7c6fea,#14b8a6);border-radius:2px;margin-top:8px}.home-wrapper[data-v-65cbd0c7]{min-height:100vh;background:#080810;position:relative;overflow:hidden}.bg-canvas[data-v-65cbd0c7]{position:fixed;inset:0;z-index:0;pointer-events:none}.orb[data-v-65cbd0c7]{position:absolute;border-radius:50%;filter:blur(90px)}.orb-1[data-v-65cbd0c7]{width:580px;height:580px;background:radial-gradient(circle,rgba(124,111,234,.2) 0,transparent 70%);top:-160px;left:-160px;animation:floatOrb-65cbd0c7 14s ease-in-out infinite alternate}.orb-2[data-v-65cbd0c7]{width:480px;height:480px;background:radial-gradient(circle,rgba(20,184,166,.15) 0,transparent 70%);bottom:-120px;right:-120px;animation:floatOrb-65cbd0c7 18s ease-in-out infinite alternate-reverse}.orb-3[data-v-65cbd0c7]{width:320px;height:320px;background:radial-gradient(circle,rgba(200,80,120,.1) 0,transparent 70%);top:55%;left:55%;transform:translate(-50%,-50%);animation:pulsOrb-65cbd0c7 10s ease-in-out infinite}.grid-lines[data-v-65cbd0c7]{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.022) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,transparent 0);background-size:64px 64px}@keyframes floatOrb-65cbd0c7{0%{transform:translate(0)}to{transform:translate(60px,50px)}}@keyframes pulsOrb-65cbd0c7{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}}.home-page[data-v-65cbd0c7]{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center}.hero-center[data-v-65cbd0c7]{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:680px;width:100%;padding:60px 20px}.reveal[data-v-65cbd0c7]{opacity:0;transform:translateY(22px);animation:fadeUp-65cbd0c7 .65s ease forwards}.delay-1[data-v-65cbd0c7]{animation-delay:.1s}.delay-2[data-v-65cbd0c7]{animation-delay:.25s}.delay-3[data-v-65cbd0c7]{animation-delay:.4s}.delay-4[data-v-65cbd0c7]{animation-delay:.55s}.delay-5[data-v-65cbd0c7]{animation-delay:.7s}.delay-6[data-v-65cbd0c7]{animation-delay:.85s}@keyframes fadeUp-65cbd0c7{to{opacity:1;transform:translateY(0)}}.tag-line[data-v-65cbd0c7]{display:inline-flex;align-items:center;gap:8px;background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.28);border-radius:100px;padding:6px 18px;font-size:12.5px;color:#a89ff5;letter-spacing:.07em;margin-bottom:28px;font-family:DM Mono,monospace}.dot[data-v-65cbd0c7]{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 7px #4ade80;animation:blinkDot-65cbd0c7 2s ease-in-out infinite}@keyframes blinkDot-65cbd0c7{0%,to{opacity:1}50%{opacity:.25}}.hero-title[data-v-65cbd0c7]{font-family:Sora,sans-serif;font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700;line-height:1.15;color:#f0eeff;margin-bottom:20px;letter-spacing:-.025em}.name-highlight[data-v-65cbd0c7]{background:linear-gradient(135deg,#7c6fea,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typing-text[data-v-65cbd0c7]{font-family:Sora,sans-serif;font-size:1.1rem;color:rgba(232,230,240,.55);margin-bottom:14px}.typing-words[data-v-65cbd0c7]{color:#a89ff5;font-weight:600;border-right:2px solid #7c6fea;padding-right:3px;animation:cursorBlink-65cbd0c7 .75s step-end infinite}@keyframes cursorBlink-65cbd0c7{0%,to{border-color:#7c6fea}50%{border-color:transparent}}.bio[data-v-65cbd0c7]{font-family:Sora,sans-serif;font-size:.96rem;color:rgba(232,230,240,.5);line-height:1.75;margin-bottom:36px}.btn-group[data-v-65cbd0c7]{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}.btn-fill-custom[data-v-65cbd0c7],.btn-outline-custom[data-v-65cbd0c7]{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:9px;font-family:Sora,sans-serif;font-size:.88rem;font-weight:600;letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:all .22s ease}.btn-outline-custom[data-v-65cbd0c7]{background:transparent;border:1px solid rgba(124,111,234,.45);color:#a89ff5}.btn-outline-custom[data-v-65cbd0c7]:hover{background:rgba(124,111,234,.1);border-color:#7c6fea;color:#c4bcff;transform:translateY(-2px)}.btn-fill-custom[data-v-65cbd0c7]{background:linear-gradient(135deg,#7c6fea,#14b8a6);border:none;color:#fff}.btn-fill-custom[data-v-65cbd0c7]:hover{opacity:.85;transform:translateY(-2px);box-shadow:0 8px 28px rgba(124,111,234,.35)}.social-list[data-v-65cbd0c7]{list-style:none;padding:0;margin:0;display:flex;gap:12px;justify-content:center}.social-list a[data-v-65cbd0c7]{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);color:rgba(232,230,240,.55);transition:all .22s ease;text-decoration:none}.social-list a[data-v-65cbd0c7]:hover{background:rgba(124,111,234,.12);border-color:rgba(124,111,234,.4);color:#a89ff5;transform:translateY(-3px)}@media (max-width:576px){.hero-title[data-v-65cbd0c7]{font-size:2rem}.btn-fill-custom[data-v-65cbd0c7],.btn-outline-custom[data-v-65cbd0c7]{padding:11px 22px;font-size:.84rem}}.about-wrapper[data-v-76124e61]{min-height:100vh;background:#080810;position:relative;overflow:hidden}.bg-canvas[data-v-76124e61]{position:fixed;inset:0;z-index:0;pointer-events:none}.orb[data-v-76124e61]{position:absolute;border-radius:50%;filter:blur(90px)}.orb-1[data-v-76124e61]{width:500px;height:500px;background:radial-gradient(circle,rgba(124,111,234,.15) 0,transparent 70%);top:-100px;right:-100px;animation:floatOrb-76124e61 16s ease-in-out infinite alternate}.orb-2[data-v-76124e61]{width:420px;height:420px;background:radial-gradient(circle,rgba(20,184,166,.12) 0,transparent 70%);bottom:0;left:-80px;animation:floatOrb-76124e61 20s ease-in-out infinite alternate-reverse}.grid-lines[data-v-76124e61]{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.022) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,transparent 0);background-size:64px 64px}@keyframes floatOrb-76124e61{0%{transform:translate(0)}to{transform:translate(50px,40px)}}.about-page[data-v-76124e61]{position:relative;z-index:1;padding-top:120px;padding-bottom:100px;max-width:860px}.timeline-section[data-v-76124e61]{margin-bottom:72px}.section-heading[data-v-76124e61]{margin-bottom:36px}.section-tag[data-v-76124e61]{display:inline-flex;align-items:center;gap:7px;background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.25);border-radius:100px;padding:5px 14px;font-size:12px;color:#a89ff5;letter-spacing:.07em;font-family:DM Mono,monospace;margin-bottom:14px}.section-title[data-v-76124e61]{font-family:Sora,sans-serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:#f0eeff;letter-spacing:-.02em;margin:0}.timeline[data-v-76124e61]{display:flex;flex-direction:column;gap:20px}.timeline-item[data-v-76124e61]{display:flex;gap:0;align-items:stretch}.timeline-left[data-v-76124e61]{display:flex;flex-direction:column;align-items:flex-end;width:180px;min-width:180px;padding-right:28px;position:relative;padding-top:28px}.timeline-date[data-v-76124e61]{font-family:DM Mono,monospace;font-size:11.5px;color:rgba(232,230,240,.4);letter-spacing:.06em;white-space:nowrap;text-align:right;line-height:1;margin-bottom:10px}.timeline-line[data-v-76124e61]{position:absolute;right:7px;top:0;bottom:0;width:1px;background:hsla(0,0%,100%,.08)}.timeline-dot[data-v-76124e61]{position:absolute;right:2px;top:30px;width:11px;height:11px;border-radius:50%;background:#7c6fea;box-shadow:0 0 10px rgba(124,111,234,.5);border:2px solid #080810}.timeline-dot--work[data-v-76124e61]{background:#14b8a6;box-shadow:0 0 10px rgba(20,184,166,.5)}.timeline-card[data-v-76124e61]{flex:1;display:flex;gap:16px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:14px;padding:24px;transition:border-color .25s ease,background .25s ease;margin-bottom:4px}.timeline-card[data-v-76124e61]:hover{background:rgba(124,111,234,.06);border-color:rgba(124,111,234,.2)}.card-icon[data-v-76124e61]{flex-shrink:0;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-top:2px}.card-icon--edu[data-v-76124e61]{background:rgba(124,111,234,.15);color:#a89ff5;border:1px solid rgba(124,111,234,.2)}.card-icon--work[data-v-76124e61]{background:rgba(20,184,166,.12);color:#5eead4;border:1px solid rgba(20,184,166,.2)}.card-body[data-v-76124e61]{flex:1;min-width:0}.card-header-row[data-v-76124e61]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:6px}.card-title[data-v-76124e61]{font-family:Sora,sans-serif;font-size:.97rem;font-weight:600;color:#e8e6f0;margin:0;letter-spacing:-.01em}.card-sub[data-v-76124e61]{font-family:Sora,sans-serif;font-size:.85rem;color:rgba(232,230,240,.45);margin:0 0 6px}.card-badge[data-v-76124e61]{font-family:DM Mono,monospace;font-size:11px;padding:3px 10px;border-radius:100px;background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.22);color:#5eead4;letter-spacing:.05em;white-space:nowrap}.card-location[data-v-76124e61]{display:flex;align-items:center;gap:5px;font-family:DM Mono,monospace;font-size:11.5px;color:rgba(232,230,240,.35);margin:0 0 14px}.card-list[data-v-76124e61]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.card-list li[data-v-76124e61]{font-family:Sora,sans-serif;font-size:.855rem;color:rgba(232,230,240,.5);line-height:1.6;padding-left:16px;position:relative}.card-list li[data-v-76124e61]:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:rgba(124,111,234,.6)}.reveal[data-v-76124e61]{opacity:0;transform:translateY(20px);animation:fadeUp-76124e61 .6s ease forwards;animation-play-state:paused}.delay-1[data-v-76124e61]{animation-delay:.1s}.delay-2[data-v-76124e61]{animation-delay:.22s}@keyframes fadeUp-76124e61{to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.timeline-left[data-v-76124e61]{width:110px;min-width:110px;padding-right:20px}.timeline-date[data-v-76124e61]{font-size:10px}.timeline-card[data-v-76124e61]{padding:18px 16px;gap:12px}.card-icon[data-v-76124e61]{width:28px;height:28px}.section-title[data-v-76124e61]{font-size:1.4rem}.about-page[data-v-76124e61]{padding-top:100px}}@media (max-width:420px){.timeline-left[data-v-76124e61]{width:90px;min-width:90px}.timeline-date[data-v-76124e61]{font-size:9.5px;white-space:normal;text-align:right}}.skills-wrapper[data-v-28f86d62]{min-height:100vh;background:#080810;position:relative;overflow:hidden}.bg-canvas[data-v-28f86d62]{position:fixed;inset:0;z-index:0;pointer-events:none}.orb[data-v-28f86d62]{position:absolute;border-radius:50%;filter:blur(90px)}.orb-1[data-v-28f86d62]{width:500px;height:500px;background:radial-gradient(circle,rgba(124,111,234,.16) 0,transparent 70%);top:-100px;right:-100px;animation:floatOrb-28f86d62 16s ease-in-out infinite alternate}.orb-2[data-v-28f86d62]{width:420px;height:420px;background:radial-gradient(circle,rgba(20,184,166,.12) 0,transparent 70%);bottom:-80px;left:-80px;animation:floatOrb-28f86d62 20s ease-in-out infinite alternate-reverse}.grid-lines[data-v-28f86d62]{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.022) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,transparent 0);background-size:64px 64px}@keyframes floatOrb-28f86d62{0%{transform:translate(0)}to{transform:translate(50px,40px)}}.skills-page[data-v-28f86d62]{position:relative;z-index:1;padding-top:120px;padding-bottom:100px}.reveal[data-v-28f86d62]{opacity:0;transform:translateY(22px);animation:fadeUp-28f86d62 .65s ease forwards;animation-play-state:paused}.delay-1[data-v-28f86d62]{animation-delay:.05s}.delay-2[data-v-28f86d62]{animation-delay:.15s}.delay-3[data-v-28f86d62]{animation-delay:.25s}.delay-4[data-v-28f86d62]{animation-delay:.35s}@keyframes fadeUp-28f86d62{to{opacity:1;transform:translateY(0)}}.section-tag[data-v-28f86d62]{display:inline-flex;align-items:center;gap:7px;background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.25);border-radius:100px;padding:5px 14px;font-size:12px;color:#a89ff5;letter-spacing:.07em;font-family:DM Mono,monospace;margin-bottom:12px}.page-header[data-v-28f86d62]{margin-bottom:56px}.page-title[data-v-28f86d62]{font-family:Sora,sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;color:#f0eeff;letter-spacing:-.025em;margin:0 0 10px}.page-sub[data-v-28f86d62]{font-family:Sora,sans-serif;font-size:.97rem;color:rgba(232,230,240,.45);margin:0}.categories-grid[data-v-28f86d62]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:start}.category-col[data-v-28f86d62]{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:16px;padding:24px 20px;transition:border-color .25s ease}.category-col[data-v-28f86d62]:hover{border-color:rgba(124,111,234,.2)}.category-header[data-v-28f86d62]{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.06)}.category-icon[data-v-28f86d62]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.category-icon--fe[data-v-28f86d62]{background:rgba(124,111,234,.15);color:#a89ff5;border:1px solid rgba(124,111,234,.2)}.category-icon--be[data-v-28f86d62]{background:rgba(20,184,166,.12);color:#5eead4;border:1px solid rgba(20,184,166,.2)}.category-icon--tools[data-v-28f86d62]{background:rgba(251,191,36,.1);color:#fcd34d;border:1px solid rgba(251,191,36,.18)}.category-icon--other[data-v-28f86d62]{background:rgba(244,114,182,.1);color:#f9a8d4;border:1px solid rgba(244,114,182,.18)}.category-name[data-v-28f86d62]{font-family:Sora,sans-serif;font-size:.9rem;font-weight:600;color:#e8e6f0;letter-spacing:.02em}.skills-list[data-v-28f86d62]{display:flex;flex-direction:column;gap:8px}.skill-item[data-v-28f86d62]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.05);transition:all .2s ease;cursor:default}.skill-item[data-v-28f86d62]:hover{background:rgba(124,111,234,.07);border-color:rgba(124,111,234,.18);transform:translateX(4px)}.skill-icon[data-v-28f86d62]{width:26px;height:26px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.skill-info[data-v-28f86d62]{display:flex;flex-direction:column;gap:2px;min-width:0}.skill-name[data-v-28f86d62]{font-family:Sora,sans-serif;font-size:.85rem;font-weight:500;color:rgba(232,230,240,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-badge[data-v-28f86d62]{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.05em;padding:2px 8px;border-radius:100px;width:-moz-fit-content;width:fit-content}.badge--beginner[data-v-28f86d62]{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.2);color:#fcd34d}.badge--intermediate[data-v-28f86d62]{background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.22);color:#a89ff5}.badge--advanced[data-v-28f86d62]{background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.22);color:#5eead4}@media (max-width:1100px){.categories-grid[data-v-28f86d62]{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.categories-grid[data-v-28f86d62]{grid-template-columns:1fr}.skills-page[data-v-28f86d62]{padding-top:100px}.page-title[data-v-28f86d62]{font-size:2rem}}.card[data-v-c967e098]{border-radius:12px;border:1px solid hsla(0,0%,100%,.125);padding:38px;flex-direction:column;align-items:center;justify-content:center;background-size:cover;background-position:50%;background-repeat:no-repeat;color:#fff}.card-title[data-v-c967e098]{text-transform:uppercase;font-size:2rem;color:#000}.card-text[data-v-c967e098]{color:#fff;font-size:.8rem;line-height:140%;letter-spacing:1.6px;color:#767272}.card-img-top[data-v-c967e098]{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.outline[data-v-c967e098]{color:rgba(0,212,255,.9);border:1px solid rgba(0,212,255,.6)}.outline[data-v-c967e098]:hover{color:rgba(26,121,245,.9);border-color:rgba(26,121,245,.9)}.projects-wrapper[data-v-36cd936d]{min-height:100vh;background:#080810;position:relative;overflow:hidden}.bg-canvas[data-v-36cd936d]{position:fixed;inset:0;z-index:0;pointer-events:none}.orb[data-v-36cd936d]{position:absolute;border-radius:50%;filter:blur(90px)}.orb-1[data-v-36cd936d]{width:520px;height:520px;background:radial-gradient(circle,rgba(124,111,234,.16) 0,transparent 70%);top:-120px;left:-120px;animation:floatOrb-36cd936d 15s ease-in-out infinite alternate}.orb-2[data-v-36cd936d]{width:440px;height:440px;background:radial-gradient(circle,rgba(20,184,166,.12) 0,transparent 70%);bottom:-80px;right:-80px;animation:floatOrb-36cd936d 19s ease-in-out infinite alternate-reverse}.grid-lines[data-v-36cd936d]{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.022) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,transparent 0);background-size:64px 64px}@keyframes floatOrb-36cd936d{0%{transform:translate(0)}to{transform:translate(55px,45px)}}.projects-page[data-v-36cd936d]{position:relative;z-index:1;padding-top:120px;padding-bottom:100px}.reveal[data-v-36cd936d]{opacity:0;transform:translateY(22px);animation:fadeUp-36cd936d .65s ease forwards;animation-play-state:paused}.delay-1[data-v-36cd936d]{animation-delay:.15s}@keyframes fadeUp-36cd936d{to{opacity:1;transform:translateY(0)}}.section-tag[data-v-36cd936d]{display:inline-flex;align-items:center;gap:7px;background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.25);border-radius:100px;padding:5px 14px;font-size:12px;color:#a89ff5;letter-spacing:.07em;font-family:DM Mono,monospace;margin-bottom:12px}.page-header[data-v-36cd936d]{margin-bottom:56px}.page-title[data-v-36cd936d]{font-family:Sora,sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;color:#f0eeff;letter-spacing:-.025em;margin:0 0 10px}.page-sub[data-v-36cd936d]{font-family:Sora,sans-serif;font-size:.97rem;color:rgba(232,230,240,.45);margin:0}.featured-label[data-v-36cd936d]{display:flex;align-items:center;gap:8px;font-family:DM Mono,monospace;font-size:12px;color:#a89ff5;letter-spacing:.08em;margin-bottom:16px}.pulse-dot[data-v-36cd936d]{width:8px;height:8px;border-radius:50%;background:#7c6fea;box-shadow:0 0 8px rgba(124,111,234,.7);animation:pulseDot-36cd936d 2s ease-in-out infinite}@keyframes pulseDot-36cd936d{0%,to{opacity:1;box-shadow:0 0 8px rgba(124,111,234,.7)}50%{opacity:.5;box-shadow:0 0 3px rgba(124,111,234,.3)}}.featured-section[data-v-36cd936d]{margin-bottom:80px}.featured-card[data-v-36cd936d]{display:grid;grid-template-columns:1fr 1fr;gap:0;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:18px;overflow:hidden;transition:border-color .3s ease}.featured-card[data-v-36cd936d]:hover{border-color:rgba(124,111,234,.25)}.featured-img-col[data-v-36cd936d]{position:relative;min-height:300px}.featured-img-wrap[data-v-36cd936d]{position:relative;width:100%;height:100%}.featured-img-wrap img[data-v-36cd936d]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.img-overlay[data-v-36cd936d]{position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(8,8,16,.6))}.featured-content[data-v-36cd936d]{padding:40px 36px;display:flex;flex-direction:column;justify-content:center}.featured-title[data-v-36cd936d]{font-family:Sora,sans-serif;font-size:1.55rem;font-weight:700;color:#f0eeff;letter-spacing:-.02em;margin:0 0 14px}.tech-stack[data-v-36cd936d]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tech-pill[data-v-36cd936d]{font-family:DM Mono,monospace;font-size:11px;padding:4px 12px;border-radius:100px;background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.22);color:#a89ff5;letter-spacing:.04em}.featured-desc[data-v-36cd936d]{font-family:Sora,sans-serif;font-size:.89rem;color:rgba(232,230,240,.5);line-height:1.75;margin:0 0 28px}.featured-btns[data-v-36cd936d]{display:flex;gap:12px;flex-wrap:wrap}.btn-fill-custom[data-v-36cd936d],.btn-outline-custom[data-v-36cd936d]{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border-radius:8px;font-family:Sora,sans-serif;font-size:.84rem;font-weight:600;letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:all .22s ease}.btn-outline-custom[data-v-36cd936d]{background:transparent;border:1px solid rgba(124,111,234,.4);color:#a89ff5}.btn-outline-custom[data-v-36cd936d]:hover{background:rgba(124,111,234,.1);border-color:#7c6fea;color:#c4bcff;transform:translateY(-2px)}.btn-fill-custom[data-v-36cd936d]{background:linear-gradient(135deg,#7c6fea,#14b8a6);border:none;color:#fff}.btn-fill-custom[data-v-36cd936d]:hover{opacity:.85;transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,111,234,.3)}.more-section[data-v-36cd936d]{margin-top:20px}.section-heading[data-v-36cd936d]{margin-bottom:32px}.section-title[data-v-36cd936d]{font-family:Sora,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#f0eeff;letter-spacing:-.02em;margin:0}.projects-grid[data-v-36cd936d]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card[data-v-36cd936d]{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:14px;overflow:hidden;transition:border-color .25s ease,transform .25s ease;display:flex;flex-direction:column}.project-card[data-v-36cd936d]:hover{border-color:rgba(124,111,234,.25);transform:translateY(-4px)}.project-card-img[data-v-36cd936d]{position:relative;height:200px;overflow:hidden;background:#13131f}.project-card-img img[data-v-36cd936d]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;display:block;transition:transform .4s ease}.project-card:hover .project-card-img img[data-v-36cd936d]{transform:scale(1.05)}.project-card-overlay[data-v-36cd936d]{position:absolute;inset:0;background:rgba(8,8,16,.75);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}.project-card:hover .project-card-overlay[data-v-36cd936d]{opacity:1}.overlay-links[data-v-36cd936d]{display:flex;gap:10px}.overlay-btn[data-v-36cd936d]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-family:Sora,sans-serif;font-size:.8rem;font-weight:600;text-decoration:none;background:rgba(124,111,234,.2);border:1px solid rgba(124,111,234,.4);color:#c4bcff;transition:all .2s ease}.overlay-btn[data-v-36cd936d]:hover{background:rgba(124,111,234,.35)}.overlay-btn--gh[data-v-36cd936d]{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15);color:#e8e6f0}.overlay-btn--gh[data-v-36cd936d]:hover{background:hsla(0,0%,100%,.15)}.project-card-body[data-v-36cd936d]{padding:20px;flex:1;display:flex;flex-direction:column}.project-card-title[data-v-36cd936d]{font-family:Sora,sans-serif;font-size:.97rem;font-weight:600;color:#e8e6f0;margin:0 0 10px;letter-spacing:-.01em}.project-card-desc[data-v-36cd936d]{font-family:Sora,sans-serif;font-size:.82rem;color:rgba(232,230,240,.45);line-height:1.65;margin:0 0 16px;flex:1}.project-card-footer[data-v-36cd936d]{display:flex;gap:16px;border-top:1px solid hsla(0,0%,100%,.06);padding-top:14px}.card-link[data-v-36cd936d]{display:inline-flex;align-items:center;gap:5px;font-family:DM Mono,monospace;font-size:11.5px;color:rgba(232,230,240,.4);text-decoration:none;letter-spacing:.04em;transition:color .2s ease}.card-link[data-v-36cd936d]:hover{color:#a89ff5}@media (max-width:991px){.featured-card[data-v-36cd936d]{grid-template-columns:1fr}.featured-img-col[data-v-36cd936d]{min-height:220px}.img-overlay[data-v-36cd936d]{background:linear-gradient(180deg,transparent 50%,rgba(8,8,16,.7))}.featured-content[data-v-36cd936d]{padding:28px 24px}.projects-grid[data-v-36cd936d]{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.projects-grid[data-v-36cd936d]{grid-template-columns:1fr}.projects-page[data-v-36cd936d]{padding-top:100px}.featured-title[data-v-36cd936d]{font-size:1.3rem}}.contact-wrapper[data-v-b7644816]{min-height:100vh;background:#080810;position:relative;overflow:hidden}.bg-canvas[data-v-b7644816]{position:fixed;inset:0;z-index:0;pointer-events:none}.orb[data-v-b7644816]{position:absolute;border-radius:50%;filter:blur(90px)}.orb-1[data-v-b7644816]{width:500px;height:500px;background:radial-gradient(circle,rgba(124,111,234,.16) 0,transparent 70%);top:-100px;left:-100px;animation:floatOrb-b7644816 16s ease-in-out infinite alternate}.orb-2[data-v-b7644816]{width:420px;height:420px;background:radial-gradient(circle,rgba(20,184,166,.12) 0,transparent 70%);bottom:-80px;right:-80px;animation:floatOrb-b7644816 20s ease-in-out infinite alternate-reverse}.grid-lines[data-v-b7644816]{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.022) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,transparent 0);background-size:64px 64px}@keyframes floatOrb-b7644816{0%{transform:translate(0)}to{transform:translate(50px,40px)}}.contact-page[data-v-b7644816]{position:relative;z-index:1;padding-top:120px;padding-bottom:100px}.reveal[data-v-b7644816]{opacity:0;transform:translateY(22px);animation:fadeUp-b7644816 .65s ease forwards;animation-play-state:paused}.delay-1[data-v-b7644816]{animation-delay:.1s}.delay-2[data-v-b7644816]{animation-delay:.22s}@keyframes fadeUp-b7644816{to{opacity:1;transform:translateY(0)}}.section-tag[data-v-b7644816]{display:inline-flex;align-items:center;gap:7px;background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.25);border-radius:100px;padding:5px 14px;font-size:12px;color:#a89ff5;letter-spacing:.07em;font-family:DM Mono,monospace;margin-bottom:12px}.page-header[data-v-b7644816]{margin-bottom:52px}.page-title[data-v-b7644816]{font-family:Sora,sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;color:#f0eeff;letter-spacing:-.025em;margin:0 0 10px}.page-sub[data-v-b7644816]{font-family:Sora,sans-serif;font-size:.97rem;color:rgba(232,230,240,.45);margin:0}.contact-grid[data-v-b7644816]{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:start}.form-col form[data-v-b7644816]{display:flex;flex-direction:column;gap:20px}.form-row[data-v-b7644816]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group[data-v-b7644816]{display:flex;flex-direction:column;gap:7px}.form-group label[data-v-b7644816]{font-family:DM Mono,monospace;font-size:12px;color:rgba(232,230,240,.45);letter-spacing:.06em}.form-group input[data-v-b7644816],.form-group textarea[data-v-b7644816]{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.09);border-radius:10px;padding:12px 16px;font-family:Sora,sans-serif;font-size:.88rem;color:#e8e6f0;outline:none;transition:border-color .2s ease,background .2s ease;resize:none;width:100%}.form-group input[data-v-b7644816]::-moz-placeholder,.form-group textarea[data-v-b7644816]::-moz-placeholder{color:rgba(232,230,240,.25)}.form-group input[data-v-b7644816]::placeholder,.form-group textarea[data-v-b7644816]::placeholder{color:rgba(232,230,240,.25)}.form-group input[data-v-b7644816]:focus,.form-group textarea[data-v-b7644816]:focus{border-color:rgba(124,111,234,.5);background:rgba(124,111,234,.05)}.field-error[data-v-b7644816]{font-family:DM Mono,monospace;font-size:11px;color:#f87171;letter-spacing:.03em}.submit-btn[data-v-b7644816]{display:inline-flex;align-items:center;gap:8px;padding:13px 32px;background:linear-gradient(135deg,#7c6fea,#14b8a6);border:none;border-radius:10px;font-family:Sora,sans-serif;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .22s ease;width:-moz-fit-content;width:fit-content}.submit-btn[data-v-b7644816]:hover{opacity:.88;transform:translateY(-2px);box-shadow:0 8px 28px rgba(124,111,234,.3)}.submit-btn.loading[data-v-b7644816]{opacity:.6;cursor:not-allowed;transform:none}.result-msg[data-v-b7644816]{display:flex;align-items:center;gap:8px;font-family:Sora,sans-serif;font-size:.875rem;padding:12px 16px;border-radius:10px;margin-top:4px}.result-msg.success[data-v-b7644816]{background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.22);color:#5eead4}.result-msg.error[data-v-b7644816]{background:hsla(0,91%,71%,.08);border:1px solid hsla(0,91%,71%,.2);color:#f87171}.info-card[data-v-b7644816]{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:16px;padding:32px 28px}.info-heading[data-v-b7644816]{font-family:Sora,sans-serif;font-size:1rem;font-weight:600;color:#e8e6f0;margin:0 0 24px;letter-spacing:-.01em}.contact-list[data-v-b7644816]{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:18px}.contact-item[data-v-b7644816]{display:flex;align-items:flex-start;gap:14px}.contact-icon[data-v-b7644816]{width:34px;height:34px;border-radius:9px;background:rgba(124,111,234,.1);border:1px solid rgba(124,111,234,.18);color:#a89ff5;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.contact-detail[data-v-b7644816]{display:flex;flex-direction:column;gap:3px}.contact-label[data-v-b7644816]{font-family:DM Mono,monospace;font-size:11px;color:rgba(232,230,240,.35);letter-spacing:.06em}.contact-value[data-v-b7644816]{font-family:Sora,sans-serif;font-size:.875rem;color:rgba(232,230,240,.7)}.contact-link[data-v-b7644816]{text-decoration:none;transition:color .2s ease}.contact-link[data-v-b7644816]:hover{color:#a89ff5}.divider[data-v-b7644816]{height:1px;background:hsla(0,0%,100%,.07);margin:24px 0}.social-label[data-v-b7644816]{font-family:DM Mono,monospace;font-size:11px;color:rgba(232,230,240,.35);letter-spacing:.06em;margin:0 0 14px}.social-row[data-v-b7644816]{display:flex;gap:10px}.social-btn[data-v-b7644816]{width:40px;height:40px;border-radius:10px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);color:rgba(232,230,240,.5);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s ease}.social-btn[data-v-b7644816]:hover{background:rgba(124,111,234,.12);border-color:rgba(124,111,234,.35);color:#a89ff5;transform:translateY(-2px)}@media (max-width:991px){.contact-grid[data-v-b7644816]{grid-template-columns:1fr}}@media (max-width:576px){.contact-page[data-v-b7644816]{padding-top:100px}.form-row[data-v-b7644816]{grid-template-columns:1fr}.page-title[data-v-b7644816]{font-size:2rem}}