@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";.click-spark-root[data-v-e8fd4028]{position:relative;width:100%;flex:1 0 auto;display:flex;flex-direction:column}.click-spark-canvas[data-v-e8fd4028]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.ghost-fibers-root[data-v-cd04e8cd]{position:relative;width:100%;height:100%;overflow:hidden}.rs-root[data-v-86642563]{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:auto;align-self:center;padding:var(--rs-inset);border-radius:var(--rs-radius);background:var(--rs-track);font-family:inherit;-webkit-user-select:none;user-select:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.rs-root[data-equal][data-v-86642563]{grid-auto-columns:minmax(0,1fr)}.rs-root[data-held][data-v-86642563]{cursor:grabbing}.rs-root[aria-disabled=true][data-v-86642563]{opacity:.5;pointer-events:none}.rs-cell[data-v-86642563]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:calc(var(--rs-h) - var(--rs-inset) * 2);min-width:var(--rs-min);margin:0;padding:0 var(--rs-pad);border:0;background:transparent;border-radius:var(--rs-thumb-radius);font:inherit;font-size:var(--rs-font);font-weight:500;line-height:1;white-space:nowrap;outline:none;color:var(--rs-ink);opacity:.7;cursor:pointer;transition:opacity .16s ease,transform .16s var(--rs-ease-out)}.rs-cell[aria-checked=true][data-v-86642563]{opacity:1;cursor:default}.rs-root[data-draggable] .rs-cell[aria-checked=true][data-v-86642563]{cursor:grab}.rs-root[data-held] .rs-cell[data-v-86642563]{cursor:grabbing}.rs-cell[data-pressed][data-v-86642563]{transform:scale(.96)}.rs-cell[data-v-86642563]:focus-visible{outline:2px solid var(--rs-thumb);outline-offset:3px}@media(hover:hover)and (pointer:fine){.rs-cell[aria-checked=false][data-v-86642563]:hover{opacity:.9}}@media(prefers-reduced-motion:reduce){.rs-cell[data-v-86642563]{transition:opacity .16s ease}}.rs-icon[data-v-86642563]{width:16px;height:16px;flex-shrink:0}.rs-thumb[data-v-86642563]{position:absolute;inset:var(--rs-inset);display:grid;grid-auto-flow:column;grid-auto-columns:auto;pointer-events:none;background:var(--rs-thumb);color:var(--rs-ink-active)}.rs-root[data-equal] .rs-thumb[data-v-86642563]{grid-auto-columns:minmax(0,1fr)}.rs-cell-thumb[data-v-86642563]{color:inherit;cursor:default;opacity:1}.navbar-header[data-v-178f0b75]{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:1000;background:transparent;transition:transform var(--duration-slow) var(--ease),opacity var(--duration-slow) var(--ease),background var(--duration-base) var(--ease);will-change:transform,opacity}.navbar-header.is-hidden[data-v-178f0b75]{transform:translateY(-100%);opacity:0;pointer-events:none}.navbar-header.menu-open[data-v-178f0b75]{background:var(--bg-primary);will-change:auto;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.navbar[data-v-178f0b75]{display:flex;align-items:center;justify-content:space-between;height:100%}.nav-brand[data-v-178f0b75]{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:-.02em}.nav-logo-img[data-v-178f0b75]{width:38px;height:38px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-medium);transition:transform var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.nav-brand:hover .nav-logo-img[data-v-178f0b75]{transform:scale(1.05);border-color:var(--accent-primary)}.nav-brand-text[data-v-178f0b75]{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.nav-menu[data-v-178f0b75]{display:flex;align-items:center;gap:8px;list-style:none}.nav-link[data-v-178f0b75]{display:inline-block;padding:8px 14px;font-size:.92rem;font-weight:500;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease)}.nav-link[data-v-178f0b75]:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.nav-link.is-active[data-v-178f0b75]{color:var(--text-primary);background:var(--badge-bg);font-weight:600;border:1px solid var(--border-subtle)}.nav-actions[data-v-178f0b75]{display:flex;align-items:center;gap:12px}.nav-segment-desktop[data-v-178f0b75]{display:none}.nav-time-pill[data-v-178f0b75]{font-family:var(--font-sans);font-size:.86rem;font-weight:700;color:var(--accent-primary);white-space:nowrap}.nav-toggle-btn[data-v-178f0b75]{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;gap:5px;border-radius:var(--radius-sm);background:var(--badge-bg);border:1px solid var(--border-subtle);cursor:pointer}.nav-toggle-btn span[data-v-178f0b75]{display:block;width:20px;height:2px;background-color:var(--text-primary);border-radius:2px;transition:all var(--duration-base) var(--ease)}.nav-toggle-btn.is-active span[data-v-178f0b75]:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle-btn.is-active span[data-v-178f0b75]:nth-child(2){opacity:0}.nav-toggle-btn.is-active span[data-v-178f0b75]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(min-width:869px){.nav-segment-desktop[data-v-178f0b75]{display:flex;align-items:center;justify-content:center}.nav-links-wrapper[data-v-178f0b75]{display:none}}@media(max-width:868px){.nav-toggle-btn[data-v-178f0b75]{display:flex}.nav-time-pill[data-v-178f0b75]{font-size:.78rem}.nav-links-wrapper[data-v-178f0b75]{position:fixed;top:var(--nav-height);left:0;width:100%;height:calc(100dvh - var(--nav-height));background:var(--bg-primary);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:24px 20px 36px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all var(--duration-base) var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:999}.nav-links-wrapper.is-open[data-v-178f0b75]{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-menu[data-v-178f0b75]{flex-direction:column;width:100%;max-width:320px;gap:12px;margin:auto 0}.nav-link[data-v-178f0b75]{display:block;width:100%;text-align:center;padding:14px 20px;font-size:1.15rem}.mobile-drawer-footer[data-v-178f0b75]{display:flex;justify-content:center;padding-top:20px;width:100%}.nav-time-pill--drawer[data-v-178f0b75]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-full);background:var(--badge-bg);border:1px solid var(--border-subtle);font-size:.85rem}}@media(min-width:869px){.mobile-drawer-footer[data-v-178f0b75]{display:none}}@media(max-width:640px){.nav-actions .nav-time-pill[data-v-178f0b75]{display:none}}@media(max-width:400px){.nav-brand[data-v-178f0b75]{gap:8px}.nav-logo-img[data-v-178f0b75]{width:34px;height:34px}.nav-brand-text[data-v-178f0b75]{font-size:.95rem}}.shiny-text[data-v-067ed595]{display:inline-block}.magnet-root[data-v-3fd8faaf]{position:relative;display:inline-block}.magnet-inner[data-v-3fd8faaf]{transform:translateZ(0);will-change:transform}.hero-section[data-v-f04a6114]{padding-top:calc(var(--nav-height) + 42px);padding-bottom:130px;position:relative;z-index:1}.hero-container[data-v-f04a6114]{position:relative;z-index:1}.hero-layout[data-v-f04a6114]{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.hero-top-row[data-v-f04a6114]{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;margin-bottom:26px;min-height:2em}.hero-name[data-v-f04a6114]{font-size:clamp(3.3rem,7.2vw,5.6rem);font-weight:800;line-height:1.02;letter-spacing:-.04em;margin-bottom:20px}.name-line[data-v-f04a6114]{display:block;overflow:hidden;padding-bottom:.06em}.name-first[data-v-f04a6114]{opacity:0;animation:name-soft-in-f04a6114 .95s var(--ease) .15s forwards}.name-last[data-v-f04a6114]{opacity:0;animation:name-soft-in-f04a6114 .95s var(--ease) .35s forwards}@keyframes name-soft-in-f04a6114{0%{opacity:0;transform:translateY(.35em);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.hero-name.is-reduced .name-first[data-v-f04a6114],.hero-name.is-reduced .name-last[data-v-f04a6114]{animation:none;opacity:1;transform:none;filter:none}.hero-action-item[data-v-f04a6114]{display:inline-flex}.greeting-lead[data-v-f04a6114]{display:inline-flex;align-items:center;color:var(--accent-primary);font-weight:700;font-size:1.28rem;height:2em;min-height:2em;white-space:nowrap;overflow:hidden}.typing-cursor[data-v-f04a6114]{display:inline-block;width:3px;height:1.2em;background:var(--accent-primary);margin-left:4px;animation:blink-f04a6114 1s step-start infinite}@keyframes blink-f04a6114{50%{opacity:0}}.hero-bio[data-v-f04a6114]{font-size:1.08rem;color:var(--text-secondary);line-height:1.7;max-width:580px;margin-bottom:32px}.hero-actions[data-v-f04a6114]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:36px}.btn-cv[data-v-f04a6114]{position:relative}.cv-size-badge[data-v-f04a6114]{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-xs);background:var(--badge-bg);border:1px solid var(--border-medium);color:var(--text-muted)}.hero-meta-strip[data-v-f04a6114]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:18px 24px;align-items:center}.meta-item[data-v-f04a6114]{display:flex;flex-direction:column;gap:4px}.meta-label[data-v-f04a6114]{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--text-dim)}.meta-value[data-v-f04a6114]{font-size:.88rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-highlight[data-v-f04a6114]{color:var(--accent-primary)}.meta-divider[data-v-f04a6114]{display:none}.hero-photo-column[data-v-f04a6114]{display:flex;justify-content:center;position:relative}.photo-card-wrapper[data-v-f04a6114]{position:relative;width:100%;max-width:600px;cursor:default}.photo-glow-effect[data-v-f04a6114]{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:calc(var(--radius-xl) + 14px);background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);filter:blur(22px);opacity:.55;z-index:0;transition:opacity .5s var(--ease)}.photo-frame[data-v-f04a6114]{position:relative;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-medium);background:var(--bg-surface);box-shadow:var(--card-shadow-hover);transition:transform .45s var(--ease),border-color var(--duration-base) var(--ease)}.portfolio-photo[data-v-f04a6114]{width:100%;height:auto;aspect-ratio:5 / 6;object-fit:cover;display:block;transition:transform .55s var(--ease)}.photo-card-wrapper:hover .photo-frame[data-v-f04a6114]{transform:translateY(-5px);border-color:var(--border-accent)}.photo-card-wrapper:hover .portfolio-photo[data-v-f04a6114]{transform:scale(1.04)}.photo-card-wrapper:hover .photo-glow-effect[data-v-f04a6114]{opacity:.9}@media(max-width:968px){.hero-section[data-v-f04a6114]{padding-bottom:90px}.hero-layout[data-v-f04a6114]{grid-template-columns:1fr;text-align:left;gap:40px}.hero-meta-strip[data-v-f04a6114]{grid-template-columns:repeat(2,1fr)}.photo-card-wrapper[data-v-f04a6114]{max-width:600px}}@media(max-width:540px){.hero-section[data-v-f04a6114]{padding-top:calc(var(--nav-height) + 16px);padding-bottom:40px}.hero-top-row[data-v-f04a6114]{margin-bottom:14px}.greeting-lead[data-v-f04a6114]{font-size:1.02rem}.hero-name[data-v-f04a6114]{font-size:clamp(2.1rem,9.5vw,3rem);margin-bottom:14px}.hero-bio[data-v-f04a6114]{font-size:.95rem;line-height:1.6;margin-bottom:22px}.hero-actions[data-v-f04a6114]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;width:100%}.hero-actions .hero-action-item[data-v-f04a6114],.hero-actions[data-v-f04a6114] .magnet-inner{display:block;width:100%}.hero-actions .hero-action-item[data-v-f04a6114]:last-child{grid-column:1 / -1}.hero-actions .btn[data-v-f04a6114]{width:100%;display:flex;justify-content:center;text-align:center}.hero-meta-strip[data-v-f04a6114]{grid-template-columns:repeat(2,1fr);gap:12px 14px;padding:14px 16px}.hero-meta-strip .meta-item[data-v-f04a6114]:last-child{grid-column:1 / -1;border-top:1px solid var(--border-subtle);padding-top:10px;margin-top:2px}.meta-label[data-v-f04a6114]{font-size:.68rem}.meta-value[data-v-f04a6114]{white-space:normal;overflow:visible;text-overflow:clip;font-size:.82rem}.photo-card-wrapper[data-v-f04a6114]{max-width:280px;margin:0 auto}}@media(max-width:380px){.hero-meta-strip[data-v-f04a6114]{gap:10px 12px;padding:12px 14px}.meta-value[data-v-f04a6114]{font-size:.78rem}}.blur-text[data-v-6db833c9]{display:flex;flex-wrap:wrap}.blur-text-segment[data-v-6db833c9]{display:inline-block;will-change:transform,filter,opacity}.blur-text-plain[data-v-6db833c9]{display:inline-block}.count-up[data-v-31ad0cac]{font-variant-numeric:tabular-nums}.about-section[data-v-be35eef4]{padding-top:140px}.about-layout[data-v-be35eef4]{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:start}.about-main[data-v-be35eef4]{padding:36px;display:flex;flex-direction:column;gap:28px}.about-paragraphs[data-v-be35eef4]{display:flex;flex-direction:column;gap:16px;font-size:1.05rem;line-height:1.8;color:var(--text-secondary)}.about-paragraphs p[data-v-be35eef4]:first-child{color:var(--text-primary);font-weight:400}.about-focus-section[data-v-be35eef4]{padding-top:20px;border-top:1px solid var(--border-subtle)}.focus-title[data-v-be35eef4]{font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-dim);margin-bottom:16px}.focus-tags-grid[data-v-be35eef4]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.focus-card[data-v-be35eef4]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.92rem;font-weight:600;color:var(--text-primary);transition:all var(--duration-fast) var(--ease)}.focus-card[data-v-be35eef4]:hover{border-color:var(--border-medium);transform:translateY(-2px);background:var(--bg-surface-hover)}.focus-icon[data-v-be35eef4]{color:var(--accent-primary);font-size:1.1rem}.about-side[data-v-be35eef4]{display:flex;flex-direction:column;gap:24px}.languages-card[data-v-be35eef4]{padding:30px}.languages-header[data-v-be35eef4]{display:flex;align-items:center;gap:14px;margin-bottom:24px}.languages-icon[data-v-be35eef4]{font-size:1.6rem;color:var(--accent-primary)}.side-title[data-v-be35eef4]{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.side-subtitle[data-v-be35eef4]{font-size:.82rem;color:var(--text-muted)}.languages-grid[data-v-be35eef4]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.lang-pill[data-v-be35eef4]{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.92rem;font-weight:600;color:var(--text-primary);transition:all var(--duration-fast) var(--ease)}.lang-pill[data-v-be35eef4]:hover{border-color:var(--border-medium);background:var(--bg-surface-hover);transform:translateY(-2px)}.lang-icon[data-v-be35eef4]{color:var(--accent-primary);font-size:.9rem}.lang-name[data-v-be35eef4]{font-weight:600;color:var(--text-primary)}.quick-metrics-grid[data-v-be35eef4]{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.metric-card[data-v-be35eef4]{padding:18px 20px;display:flex;flex-direction:column;justify-content:center}.metric-number[data-v-be35eef4]{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--accent-primary);font-family:var(--font-mono)}.metric-label[data-v-be35eef4]{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-top:2px}@media(max-width:868px){.about-section[data-v-be35eef4]{padding-top:48px}.about-layout[data-v-be35eef4]{grid-template-columns:1fr}}@media(max-width:540px){.about-main[data-v-be35eef4]{padding:20px;gap:22px}.about-paragraphs[data-v-be35eef4]{font-size:.98rem;gap:14px}.focus-tags-grid[data-v-be35eef4]{gap:10px}.focus-card[data-v-be35eef4]{padding:10px 12px;font-size:.86rem;gap:10px}.focus-icon[data-v-be35eef4]{font-size:1rem}.languages-card[data-v-be35eef4]{padding:20px}.languages-header[data-v-be35eef4]{gap:12px;margin-bottom:18px}.side-title[data-v-be35eef4]{font-size:1.05rem}.lang-pill[data-v-be35eef4]{padding:10px 12px;font-size:.86rem;gap:8px}.metric-card[data-v-be35eef4]{padding:14px 16px}.metric-number[data-v-be35eef4]{font-size:1.4rem}.metric-label[data-v-be35eef4]{font-size:.74rem}}@media(max-width:480px){.about-main[data-v-be35eef4],.languages-card[data-v-be35eef4]{padding:18px 14px}.focus-tags-grid[data-v-be35eef4]{grid-template-columns:1fr;gap:8px}.focus-card[data-v-be35eef4]{padding:10px 14px}}.skills-categories-grid[data-v-8a311e67]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.skill-cat-card[data-v-8a311e67]{padding:28px}.cat-header[data-v-8a311e67]{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--border-subtle);margin-bottom:20px}.cat-title-wrap[data-v-8a311e67]{display:flex;align-items:center;gap:10px}.cat-icon[data-v-8a311e67]{color:var(--accent-primary);font-size:1.1rem}.cat-title[data-v-8a311e67]{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.tech-pills-grid[data-v-8a311e67]{display:flex;flex-wrap:wrap;gap:12px}.tech-pill[data-v-8a311e67]{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease)}.tech-pill[data-v-8a311e67]:hover{transform:translateY(-2px);border-color:var(--border-medium);background:var(--bg-surface-hover);box-shadow:0 4px 12px #00000026}.tech-logo[data-v-8a311e67]{font-size:1.35rem;line-height:1}.tech-name[data-v-8a311e67]{font-size:.9rem;font-weight:600;color:var(--text-primary)}@media(max-width:868px){.skills-categories-grid[data-v-8a311e67]{grid-template-columns:1fr}.skill-cat-card[data-v-8a311e67]{padding:22px}.cat-header[data-v-8a311e67]{padding-bottom:14px;margin-bottom:16px}.tech-pills-grid[data-v-8a311e67]{gap:10px}.tech-pill[data-v-8a311e67]{padding:8px 13px;gap:8px}.tech-logo[data-v-8a311e67]{font-size:1.2rem}.tech-name[data-v-8a311e67]{font-size:.85rem}}.exp-header-row[data-v-06e8531e]{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.exp-card[data-v-06e8531e]{padding:40px}.exp-company-header[data-v-06e8531e]{display:flex;align-items:center;gap:20px;padding-bottom:32px;border-bottom:1px solid var(--border-subtle);margin-bottom:36px}.exp-company-logo-wrapper[data-v-06e8531e]{width:68px;height:68px;border-radius:var(--radius-md);background:#fff;padding:6px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #0000001f;flex-shrink:0}.exp-company-logo[data-v-06e8531e]{max-width:100%;max-height:100%;object-fit:contain}.exp-company-info[data-v-06e8531e]{display:flex;flex-direction:column;gap:6px}.company-title-row[data-v-06e8531e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exp-company-name[data-v-06e8531e]{font-size:1.45rem;font-weight:800;color:var(--text-primary)}.company-type-badge[data-v-06e8531e]{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:var(--radius-full);background:var(--badge-bg);border:1px solid var(--border-subtle);color:var(--text-muted)}.company-sub-meta[data-v-06e8531e]{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--text-muted);flex-wrap:wrap}.exp-timeline-ladder[data-v-06e8531e]{display:flex;flex-direction:column}.exp-step[data-v-06e8531e]{display:grid;grid-template-columns:36px 1fr;gap:24px}.exp-marker-col[data-v-06e8531e]{display:flex;flex-direction:column;align-items:center}.exp-node[data-v-06e8531e]{width:14px;height:14px;border-radius:50%;background:var(--bg-surface-elevated);border:2px solid var(--text-muted);margin-top:6px;flex-shrink:0;transition:all var(--duration-base) var(--ease)}.exp-node.node-active[data-v-06e8531e]{background:var(--accent-emerald);border-color:var(--accent-emerald);box-shadow:0 0 14px var(--accent-emerald-glow)}.exp-rail[data-v-06e8531e]{width:2px;flex-grow:1;background:var(--border-subtle);margin-top:8px;margin-bottom:8px}.exp-step:last-child .exp-rail[data-v-06e8531e]{display:none}.exp-step-content[data-v-06e8531e]{padding-bottom:40px}.role-headline-row[data-v-06e8531e]{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}.role-title-wrap[data-v-06e8531e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.role-title[data-v-06e8531e]{font-size:1.22rem;font-weight:700;color:var(--text-primary)}.role-badge-current[data-v-06e8531e]{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);background:var(--accent-emerald-glow);color:var(--accent-emerald);border:1px solid rgba(16,185,129,.4)}.role-badge-type[data-v-06e8531e]{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-xs);background:var(--badge-bg);color:var(--text-muted);border:1px solid var(--border-subtle)}.role-dates[data-v-06e8531e]{font-size:.85rem;font-family:var(--font-mono);color:var(--text-muted);display:flex;align-items:center;gap:6px}.role-location[data-v-06e8531e]{display:flex;align-items:center;gap:6px;font-size:.84rem;color:var(--text-dim);margin-bottom:14px}.role-location .sep[data-v-06e8531e]{color:var(--text-dim)}.role-summary[data-v-06e8531e]{font-size:.98rem;line-height:1.7;color:var(--text-secondary);margin-bottom:16px}.role-highlights-box[data-v-06e8531e]{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px 20px;margin-bottom:18px}.highlights-heading[data-v-06e8531e]{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-muted);margin-bottom:12px}.highlights-list[data-v-06e8531e]{list-style:none;display:flex;flex-direction:column;gap:10px}.highlights-list li[data-v-06e8531e]{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.highlight-bullet[data-v-06e8531e]{color:var(--accent-primary);font-size:.85rem;margin-top:4px;flex-shrink:0}.role-tech-tags[data-v-06e8531e]{display:flex;flex-wrap:wrap;gap:8px}.role-tech-pill[data-v-06e8531e]{font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);background:var(--badge-bg);border:1px solid var(--border-subtle);color:var(--text-primary)}@media(max-width:768px){.exp-card[data-v-06e8531e]{padding:24px}.exp-company-header[data-v-06e8531e]{flex-wrap:wrap;gap:14px;padding-bottom:22px;margin-bottom:26px}.exp-company-logo-wrapper[data-v-06e8531e]{width:52px;height:52px}.exp-company-name[data-v-06e8531e]{font-size:1.2rem}.company-type-badge[data-v-06e8531e]{font-size:.7rem;padding:2px 8px}.company-sub-meta[data-v-06e8531e]{gap:8px 14px;font-size:.82rem}.company-sub-meta .meta-sep[data-v-06e8531e]{display:none}.exp-step[data-v-06e8531e]{grid-template-columns:24px 1fr;gap:16px}.exp-step-content[data-v-06e8531e]{padding-bottom:28px}.role-title[data-v-06e8531e]{font-size:1.1rem}.role-dates[data-v-06e8531e]{font-size:.8rem}.role-summary[data-v-06e8531e]{font-size:.93rem}.role-highlights-box[data-v-06e8531e]{padding:14px;margin-bottom:14px}.highlights-list li[data-v-06e8531e]{font-size:.88rem;gap:8px}.role-headline-row[data-v-06e8531e]{flex-direction:column;gap:6px}}@media(max-width:540px){.exp-card[data-v-06e8531e]{padding:18px}.role-tech-pill[data-v-06e8531e]{font-size:.75rem;padding:3px 10px}}.edu-timeline[data-v-d4db3202]{position:relative;max-width:920px;margin:16px auto 0;padding-top:8px}.edu-timeline[data-v-d4db3202]:before{content:"";position:absolute;left:50%;top:0;bottom:24px;width:2px;transform:translate(-50%);background:linear-gradient(to bottom,transparent,var(--accent-primary) 10%,var(--accent-primary) 90%,transparent);opacity:.4}.timeline-item[data-v-d4db3202]{position:relative;width:50%;padding:0 48px 40px}.timeline-item[data-v-d4db3202]:nth-child(odd){left:0}.timeline-item[data-v-d4db3202]:nth-child(2n){left:50%}.timeline-marker[data-v-d4db3202]{position:absolute;top:22px;width:14px;height:14px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--accent-primary);box-shadow:0 0 0 4px #3b82f626;z-index:1}.timeline-item:nth-child(odd) .timeline-marker[data-v-d4db3202]{right:-7px}.timeline-item:nth-child(2n) .timeline-marker[data-v-d4db3202]{left:-7px}.timeline-body[data-v-d4db3202]{padding:24px 26px;transition:transform var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease)}.timeline-item:nth-child(odd) .timeline-body[data-v-d4db3202]{text-align:right}.timeline-item:nth-child(odd) .edu-institution[data-v-d4db3202]{justify-content:flex-end}.timeline-item:nth-child(odd) .edu-period[data-v-d4db3202]{flex-direction:row-reverse}.timeline-body[data-v-d4db3202]:hover{transform:translateY(-3px);border-color:var(--border-accent)}.edu-period[data-v-d4db3202]{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.82rem;color:var(--text-muted);margin-bottom:8px}.edu-degree[data-v-d4db3202]{font-size:1.14rem;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:8px}.edu-institution[data-v-d4db3202]{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:var(--accent-primary);font-weight:500;margin-bottom:12px}.institution-icon[data-v-d4db3202]{margin-top:3px;font-size:.85rem}.edu-desc[data-v-d4db3202]{font-size:.9rem;line-height:1.7;color:var(--text-secondary)}@media(max-width:768px){.edu-timeline[data-v-d4db3202]{padding-left:6px}.edu-timeline[data-v-d4db3202]:before{left:7px;transform:none}.timeline-item[data-v-d4db3202],.timeline-item[data-v-d4db3202]:nth-child(odd),.timeline-item[data-v-d4db3202]:nth-child(2n){width:100%;left:0;padding:0 0 28px 36px}.timeline-item:nth-child(odd) .timeline-marker[data-v-d4db3202],.timeline-item:nth-child(2n) .timeline-marker[data-v-d4db3202]{left:1px;right:auto}.timeline-item:nth-child(odd) .timeline-body[data-v-d4db3202]{text-align:left}.timeline-item:nth-child(odd) .edu-institution[data-v-d4db3202]{justify-content:flex-start}.timeline-item:nth-child(odd) .edu-period[data-v-d4db3202]{flex-direction:row}.timeline-body[data-v-d4db3202]{padding:20px}.edu-degree[data-v-d4db3202]{font-size:1.05rem}.edu-desc[data-v-d4db3202]{font-size:.88rem}}.modal-backdrop[data-v-bad8ef55]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}.modal-card[data-v-bad8ef55]{width:100%;max-width:720px;max-height:88vh;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:0 25px 60px -15px #000000b3;overflow:hidden;border-radius:var(--radius-xl)}.modal-header[data-v-bad8ef55]{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.modal-title-group[data-v-bad8ef55]{display:flex;gap:16px;align-items:center}.modal-icon-badge[data-v-bad8ef55]{width:48px;height:48px;border-radius:var(--radius-md);background:var(--accent-glow);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;border:1px solid var(--border-accent)}.modal-project-title[data-v-bad8ef55]{font-size:1.35rem;font-weight:700;color:var(--text-primary);line-height:1.3;margin-bottom:6px}.modal-tags[data-v-bad8ef55]{display:flex;flex-wrap:wrap;gap:6px}.modal-tag[data-v-bad8ef55]{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-xs);background:var(--badge-bg);border:1px solid var(--border-subtle);color:var(--text-muted)}.modal-status-badge[data-v-bad8ef55]{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 10px;border-radius:var(--radius-xs);background:var(--accent-emerald-glow);border:1px solid var(--accent-emerald);color:var(--accent-emerald)}.modal-status-badge.is-in-progress[data-v-bad8ef55]{background:var(--accent-amber-glow);border-color:var(--accent-amber);color:var(--accent-amber)}.modal-close-btn[data-v-bad8ef55]{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--duration-fast) var(--ease)}.modal-close-btn[data-v-bad8ef55]:hover{color:var(--text-primary);border-color:var(--border-medium);background:var(--bg-surface-hover)}.modal-body[data-v-bad8ef55]{padding:28px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.modal-preview-image-wrap[data-v-bad8ef55]{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.modal-preview-img[data-v-bad8ef55]{width:100%;height:100%;object-fit:cover;display:block}.modal-section[data-v-bad8ef55]{display:flex;flex-direction:column;gap:10px}.section-heading[data-v-bad8ef55]{display:flex;align-items:center;gap:8px;font-size:.88rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--accent-primary)}.heading-icon[data-v-bad8ef55]{font-size:.95rem}.modal-text[data-v-bad8ef55]{font-size:.98rem;line-height:1.7;color:var(--text-secondary)}.architecture-box[data-v-bad8ef55]{padding:16px 20px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.architecture-text[data-v-bad8ef55]{font-size:.92rem;line-height:1.65;color:var(--text-secondary)}.features-list[data-v-bad8ef55]{list-style:none;display:flex;flex-direction:column;gap:10px}.features-list li[data-v-bad8ef55]{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.feature-check[data-v-bad8ef55]{color:var(--accent-emerald);font-size:.85rem;margin-top:4px;flex-shrink:0}.modal-footer[data-v-bad8ef55]{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.modal-fade-enter-active[data-v-bad8ef55],.modal-fade-leave-active[data-v-bad8ef55]{transition:opacity .25s ease}.modal-fade-enter-from[data-v-bad8ef55],.modal-fade-leave-to[data-v-bad8ef55]{opacity:0}.modal-fade-enter-active .modal-card[data-v-bad8ef55],.modal-fade-leave-active .modal-card[data-v-bad8ef55]{transition:transform .25s cubic-bezier(.16,1,.3,1)}.modal-fade-enter-from .modal-card[data-v-bad8ef55]{transform:translateY(20px) scale(.96)}.modal-fade-leave-to .modal-card[data-v-bad8ef55]{transform:translateY(10px) scale(.98)}@media(max-width:640px){.modal-backdrop[data-v-bad8ef55]{padding:12px}.modal-card[data-v-bad8ef55]{max-height:94vh;border-radius:var(--radius-lg)}.modal-header[data-v-bad8ef55]{padding:16px;gap:12px}.modal-icon-badge[data-v-bad8ef55]{width:38px;height:38px;font-size:1.05rem}.modal-project-title[data-v-bad8ef55]{font-size:1.15rem}.modal-body[data-v-bad8ef55]{padding:16px;gap:18px}.modal-footer[data-v-bad8ef55]{padding:14px 16px;flex-direction:column}.modal-footer .btn[data-v-bad8ef55]{width:100%;justify-content:center}}.projects-header-flex[data-v-5f254a23]{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.projects-count-badge[data-v-5f254a23]{font-size:.85rem;color:var(--text-muted);background:var(--badge-bg);padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);font-family:var(--font-mono)}.projects-filter-controls[data-v-5f254a23]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;flex-wrap:wrap}.filter-pills-wrap[data-v-5f254a23]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-pill-btn[data-v-5f254a23]{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--radius-full);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);font-size:.86rem;font-weight:500;color:var(--text-secondary);transition:all var(--duration-fast) var(--ease)}.filter-pill-btn[data-v-5f254a23]:hover{color:var(--text-primary);border-color:var(--border-medium);background:var(--bg-surface-hover)}.filter-pill-btn.is-active[data-v-5f254a23]{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-border);font-weight:600}.pill-count[data-v-5f254a23]{font-size:.72rem;font-family:var(--font-mono);padding:1px 6px;border-radius:var(--radius-full);background:#7d7d7d33}.filter-pill-btn.is-active .pill-count[data-v-5f254a23]{background:#00000026}.projects-search-wrap[data-v-5f254a23]{position:relative;display:flex;align-items:center;width:100%;max-width:280px}.search-icon[data-v-5f254a23]{position:absolute;left:14px;color:var(--text-dim);font-size:.85rem;pointer-events:none}.projects-search-input[data-v-5f254a23]{width:100%;min-height:44px;padding:9px 46px 9px 36px;background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-primary);font-family:inherit;font-size:.86rem;outline:none;transition:all var(--duration-fast) var(--ease)}.projects-search-input[data-v-5f254a23]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.search-clear-btn[data-v-5f254a23]{position:absolute;right:4px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-dim);font-size:.85rem}.search-clear-btn[data-v-5f254a23]:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.projects-carousel[data-v-5f254a23]{position:relative}.projects-grid[data-v-5f254a23]{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.carousel-arrow[data-v-5f254a23]{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-full);background:var(--bg-glass-elevated);border:1px solid var(--border-medium);color:var(--text-primary);font-size:.95rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px #0006;transition:all var(--duration-fast) var(--ease)}.carousel-arrow[data-v-5f254a23]:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.carousel-arrow[data-v-5f254a23]:disabled{opacity:.35;cursor:default;box-shadow:none}.project-card[data-v-5f254a23]{display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease),box-shadow var(--duration-base) var(--ease)}.project-card[data-v-5f254a23]:hover{transform:translateY(-5px);border-color:var(--border-accent);box-shadow:var(--card-shadow-hover)}.project-img-wrapper[data-v-5f254a23]{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-surface-elevated);cursor:pointer;border-bottom:1px solid var(--border-subtle)}.project-thumb-img[data-v-5f254a23]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-thumb-img[data-v-5f254a23]{transform:scale(1.05)}.project-img-overlay[data-v-5f254a23]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--duration-base) var(--ease)}.project-card:hover .project-img-overlay[data-v-5f254a23]{opacity:1}.preview-badge[data-v-5f254a23]{font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:var(--radius-full);background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:0 4px 14px #0000004d}.project-status-badge[data-v-5f254a23]{position:absolute;top:14px;left:14px;z-index:2;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-full);background:var(--accent-emerald-glow);color:var(--accent-emerald);border:1px solid var(--accent-emerald);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-status-badge.is-in-progress[data-v-5f254a23]{background:var(--accent-amber-glow);color:var(--accent-amber);border-color:var(--accent-amber)}.project-card-inner[data-v-5f254a23]{padding:24px;flex-grow:1}.project-card-top[data-v-5f254a23]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.project-tags[data-v-5f254a23]{display:flex;flex-wrap:wrap;gap:6px}.project-tag[data-v-5f254a23]{font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:var(--radius-xs);background:var(--badge-bg);border:1px solid var(--border-subtle);color:var(--accent-primary)}.project-icon-top[data-v-5f254a23]{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.95rem;flex-shrink:0}.project-title[data-v-5f254a23]{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:12px}.project-desc[data-v-5f254a23]{font-size:.93rem;line-height:1.65;color:var(--text-secondary)}.project-actions-bar[data-v-5f254a23]{display:flex;border-top:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.btn-project-action[data-v-5f254a23]{flex:1;display:flex;align-items:center;justify-content:center;padding:14px 16px;font-size:.88rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);transition:all var(--duration-fast) var(--ease);border:none}.btn-details[data-v-5f254a23]{border-right:1px solid var(--border-subtle)}.btn-source[data-v-5f254a23]{gap:8px}.btn-live[data-v-5f254a23]{gap:8px;border-right:1px solid var(--border-subtle)}.btn-live[data-v-5f254a23]:hover{color:var(--accent-emerald)}.btn-project-action[data-v-5f254a23]:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.btn-details[data-v-5f254a23]:hover{color:var(--accent-primary)}.btn-source.is-disabled[data-v-5f254a23]{color:var(--text-dim);cursor:not-allowed;opacity:.65}.btn-source.is-disabled[data-v-5f254a23]:hover{background:transparent;color:var(--text-dim)}.projects-empty-state[data-v-5f254a23]{text-align:center;padding:50px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:20px}.empty-icon[data-v-5f254a23]{font-size:2.8rem;color:var(--text-dim)}@media(max-width:868px){.projects-grid[data-v-5f254a23]{display:flex;flex-wrap:nowrap;gap:18px;grid-template-columns:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:6px 4px 8px;margin-inline:-4px}.projects-grid[data-v-5f254a23]::-webkit-scrollbar{display:none}.project-card[data-v-5f254a23]{flex:0 0 auto;width:min(86%,360px);scroll-snap-align:start}.carousel-arrow[data-v-5f254a23]{display:flex;position:absolute;top:38%;transform:translateY(-50%);z-index:3}.carousel-arrow--prev[data-v-5f254a23]{left:-6px}.carousel-arrow--next[data-v-5f254a23]{right:-6px}.projects-filter-controls[data-v-5f254a23]{flex-direction:column;align-items:stretch}.filter-pills-wrap[data-v-5f254a23]{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-inline:-4px;padding-inline:4px}.filter-pills-wrap[data-v-5f254a23]::-webkit-scrollbar{display:none}.filter-pill-btn[data-v-5f254a23]{flex-shrink:0}.projects-search-wrap[data-v-5f254a23]{max-width:100%}.project-card-inner[data-v-5f254a23]{padding:20px}.project-title[data-v-5f254a23]{font-size:1.12rem;margin-bottom:10px}.project-desc[data-v-5f254a23]{font-size:.88rem}.project-card-top[data-v-5f254a23]{margin-bottom:14px}.btn-project-action[data-v-5f254a23]{padding:12px 14px;font-size:.84rem}}@media(max-width:640px){.projects-header-flex[data-v-5f254a23]{flex-direction:column;align-items:flex-start;gap:12px}.projects-grid[data-v-5f254a23]{display:flex!important;flex-direction:column!important;overflow:visible!important;width:100%!important;gap:22px!important;padding:0!important;margin-inline:0!important;scroll-snap-type:none!important}.project-card[data-v-5f254a23]{flex:none!important;width:100%!important;max-width:100%!important;scroll-snap-align:none!important}.carousel-arrow[data-v-5f254a23]{display:none!important}.project-card-inner[data-v-5f254a23]{padding:18px 16px}.projects-count-badge[data-v-5f254a23]{font-size:.78rem;padding:5px 12px}.projects-empty-state[data-v-5f254a23]{padding:36px 18px}}.contact-layout[data-v-ab2b7390]{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:start}.contact-info-col[data-v-ab2b7390]{display:flex;flex-direction:column;gap:20px}.email-spotlight-card[data-v-ab2b7390]{padding:30px;display:flex;flex-direction:column;gap:12px}.email-label[data-v-ab2b7390]{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary)}.email-link[data-v-ab2b7390]{font-size:1.25rem;font-weight:700;color:var(--text-primary);word-break:break-all;transition:color var(--duration-fast) var(--ease)}.email-link[data-v-ab2b7390]:hover{color:var(--accent-primary)}.email-actions-row[data-v-ab2b7390]{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}.copy-btn.is-copied[data-v-ab2b7390]{background:var(--accent-emerald-glow);color:var(--accent-emerald);border-color:#10b98166}.socials-list[data-v-ab2b7390]{display:flex;flex-direction:column;gap:12px}.social-card[data-v-ab2b7390]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease)}.social-card[data-v-ab2b7390]:hover{border-color:var(--border-medium);transform:translateY(-2px);background:var(--bg-surface-hover)}.social-card-left[data-v-ab2b7390]{display:flex;align-items:center;gap:16px}.social-icon[data-v-ab2b7390]{font-size:1.35rem;color:var(--accent-primary);width:24px;text-align:center}.social-meta[data-v-ab2b7390]{display:flex;flex-direction:column}.social-name[data-v-ab2b7390]{font-size:.95rem;font-weight:700;color:var(--text-primary)}.social-handle[data-v-ab2b7390]{font-size:.8rem;color:var(--text-dim);font-family:var(--font-mono)}.social-arrow[data-v-ab2b7390]{color:var(--text-dim);font-size:.9rem;transition:transform var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.social-card:hover .social-arrow[data-v-ab2b7390]{transform:translate(4px);color:var(--text-primary)}.contact-form-card[data-v-ab2b7390]{padding:36px}.form-card-header[data-v-ab2b7390]{margin-bottom:24px}.form-title[data-v-ab2b7390]{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.form-desc[data-v-ab2b7390]{font-size:.88rem;color:var(--text-muted)}.contact-form[data-v-ab2b7390]{display:flex;flex-direction:column;gap:18px}.form-group[data-v-ab2b7390]{display:flex;flex-direction:column;gap:6px}.form-label-row[data-v-ab2b7390]{display:flex;justify-content:space-between;align-items:baseline}.form-label[data-v-ab2b7390]{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.char-count[data-v-ab2b7390]{font-size:.75rem;color:var(--text-dim);font-family:var(--font-mono)}.form-input[data-v-ab2b7390],.form-textarea[data-v-ab2b7390]{width:100%;padding:12px 16px;background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.95rem;outline:none;transition:all var(--duration-fast) var(--ease)}.form-textarea[data-v-ab2b7390]{resize:vertical;min-height:110px}.form-input[data-v-ab2b7390]:focus,.form-textarea[data-v-ab2b7390]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.form-submit-btn[data-v-ab2b7390]{width:100%;padding:14px;font-size:.96rem;margin-top:6px}.form-submit-btn[data-v-ab2b7390]:disabled{opacity:.7;cursor:not-allowed}.form-status[data-v-ab2b7390]{margin-top:4px;font-size:.88rem;line-height:1.5;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.form-status.is-success[data-v-ab2b7390]{color:var(--accent-emerald);background:var(--accent-emerald-glow);border-color:#10b98166}.form-status.is-error[data-v-ab2b7390]{color:#fca5a5;background:#ef44441f;border-color:#ef444466}@media(max-width:868px){.contact-layout[data-v-ab2b7390]{grid-template-columns:1fr}}@media(max-width:540px){.email-spotlight-card[data-v-ab2b7390]{padding:20px}.email-link[data-v-ab2b7390]{font-size:1.05rem}.email-actions-row[data-v-ab2b7390]{gap:10px}.email-actions-row .btn[data-v-ab2b7390]{flex:1;white-space:normal;text-align:center}.social-card[data-v-ab2b7390]{padding:14px 16px}.social-card-left[data-v-ab2b7390]{gap:12px;min-width:0}.contact-form-card[data-v-ab2b7390]{padding:20px}.form-title[data-v-ab2b7390]{font-size:1.18rem}.form-input[data-v-ab2b7390],.form-textarea[data-v-ab2b7390]{padding:11px 14px;font-size:.92rem}}.portfolio-footer[data-v-ae20aacc]{padding:48px 0 32px;border-top:1px solid var(--border-subtle);background:transparent;position:relative;z-index:1}.footer-inner[data-v-ae20aacc]{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.footer-top[data-v-ae20aacc]{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.footer-brand[data-v-ae20aacc]{display:flex;flex-direction:column;gap:4px}.footer-brand-link[data-v-ae20aacc]{font-size:1.1rem;font-weight:700;color:var(--text-primary);transition:color var(--duration-fast) var(--ease)}.footer-brand-link[data-v-ae20aacc]:hover{color:var(--accent-primary)}.footer-tagline[data-v-ae20aacc]{font-size:.84rem;color:var(--text-muted)}.footer-nav-list[data-v-ae20aacc]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;list-style:none}.footer-link[data-v-ae20aacc]{font-size:.9rem;font-weight:500;color:var(--text-muted);transition:color var(--duration-fast) var(--ease)}.footer-link[data-v-ae20aacc]:hover{color:var(--text-primary)}.footer-social[data-v-ae20aacc]{display:flex;align-items:center;gap:12px}.footer-social-link[data-v-ae20aacc]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);background:var(--badge-bg);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:1rem;transition:all var(--duration-fast) var(--ease)}.footer-social-link[data-v-ae20aacc]:hover{color:var(--text-primary);border-color:var(--border-accent);background:var(--bg-surface-hover);transform:translateY(-2px)}.footer-rights[data-v-ae20aacc]{font-size:.82rem;color:var(--text-dim);padding-top:20px;border-top:1px solid var(--border-subtle);width:100%}@media(max-width:768px){.portfolio-footer[data-v-ae20aacc]{padding:36px 0 26px}.footer-rights[data-v-ae20aacc]{font-size:.78rem}}.back-to-top-btn[data-v-7ba53ba3]{position:fixed;bottom:28px;right:28px;width:46px;height:46px;border-radius:var(--radius-full);background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid var(--border-medium);box-shadow:0 4px 18px #00000040;display:flex;align-items:center;justify-content:center;font-size:1rem;z-index:999;cursor:pointer;transition:all var(--duration-fast) var(--ease)}.back-to-top-btn[data-v-7ba53ba3]:hover{transform:translateY(-4px) scale(1.08);box-shadow:0 8px 24px #00000059}.fade-bounce-enter-active[data-v-7ba53ba3],.fade-bounce-leave-active[data-v-7ba53ba3]{transition:all .3s var(--ease-bounce)}.fade-bounce-enter-from[data-v-7ba53ba3],.fade-bounce-leave-to[data-v-7ba53ba3]{opacity:0;transform:translateY(12px) scale(.8)}@media(max-width:540px){.back-to-top-btn[data-v-7ba53ba3]{bottom:16px;right:16px;width:40px;height:40px;font-size:.9rem}}.app-root[data-v-6ed5690b]{min-height:100vh;position:relative;display:flex;flex-direction:column;overflow-x:hidden;max-width:100%;width:100%}.fibers-fixed-layer[data-v-6ed5690b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}main[data-v-6ed5690b]{flex-grow:1;position:relative;z-index:1}:root{--font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: var(--font-sans);--container-max: 1180px;--nav-height: 72px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--bg-primary: #0a1128;--bg-surface: #101c3d;--bg-surface-elevated: #16264f;--bg-surface-hover: #1c3061;--bg-glass: rgba(16, 28, 61, .75);--bg-glass-elevated: rgba(22, 38, 79, .85);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .16);--border-strong: rgba(255, 255, 255, .28);--border-accent: rgba(59, 130, 246, .4);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-dim: #8b9bb4;--accent-primary: #3b82f6;--accent-primary-hover: #60a5fa;--accent-glow: rgba(59, 130, 246, .18);--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .25);--accent-amber: #f59e0b;--accent-amber-glow: rgba(245, 158, 11, .25);--accent-vue: #42b883;--btn-primary-bg: #f8fafc;--btn-primary-text: #0a1128;--btn-primary-border: #f8fafc;--btn-primary-hover-bg: #e2e8f0;--btn-secondary-bg: rgba(255, 255, 255, .05);--btn-secondary-text: #f8fafc;--btn-secondary-border: rgba(255, 255, 255, .12);--btn-secondary-hover-bg: rgba(255, 255, 255, .12);--card-shadow: 0 10px 30px -10px rgba(0, 0, 0, .5);--card-shadow-hover: 0 20px 40px -15px rgba(0, 0, 0, .7);--glow-shadow: 0 0 35px -5px rgba(59, 130, 246, .15);--badge-bg: rgba(255, 255, 255, .06);--badge-border: rgba(255, 255, 255, .1);--badge-text: #e2e8f0;--input-bg: rgba(16, 28, 61, .85);--input-border: rgba(255, 255, 255, .12);--input-text: #f8fafc;--input-focus: #3b82f6}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 20px);overflow-x:hidden;max-width:100%}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;max-width:100%;width:100%;transition:background-color var(--duration-base) var(--ease),color var(--duration-base) var(--ease)}p,li,h1,h2,h3,h4,h5,h6,span,a,div{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}input::placeholder,textarea::placeholder{color:var(--text-dim);opacity:1}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--accent-primary-hover);outline-offset:2px;border-radius:var(--radius-xs)}.skip-to-content{position:absolute;top:-100px;left:20px;background:var(--btn-primary-bg);color:var(--btn-primary-text);padding:10px 18px;border-radius:var(--radius-sm);z-index:9999;font-weight:600;transition:top var(--duration-fast) var(--ease)}.skip-to-content:focus{top:20px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.section{padding-top:100px;padding-bottom:100px;position:relative}@media(max-width:768px){.section{padding-top:60px;padding-bottom:60px}}.section-header{margin-bottom:48px}@media(max-width:768px){.section-header{margin-bottom:32px}}.section-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--badge-bg);border:1px solid var(--badge-border);border-radius:var(--radius-full);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary-hover);margin-bottom:12px}.section-title{font-size:clamp(2rem,3.5vw,2.75rem);font-weight:800;letter-spacing:-.025em;line-height:1.2;color:var(--text-primary)}.section-subtitle{font-size:1.05rem;color:var(--text-muted);max-width:650px;margin-top:10px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 24px;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;transition:all var(--duration-base) var(--ease);white-space:nowrap}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid var(--btn-primary-border);box-shadow:0 4px 14px #00000026}.btn-primary:hover{background:var(--btn-primary-hover-bg);transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-secondary:hover{background:var(--btn-secondary-hover-bg);border-color:var(--border-medium);transform:translateY(-2px)}.btn-sm{padding:8px 16px;font-size:.85rem;border-radius:var(--radius-sm)}.btn-icon{font-size:.9em;transition:transform var(--duration-fast) var(--ease)}.btn:hover .btn-icon{transform:translateY(2px)}.bg-ambient-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-blob{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;transition:opacity var(--duration-slow) var(--ease)}.ambient-blob-1{width:500px;height:500px;top:-100px;left:20%;background:radial-gradient(circle,#3b82f6,#6366f1)}.ambient-blob-2{width:450px;height:450px;top:50%;right:-50px;background:radial-gradient(circle,#10b981,#06b6d4)}.ambient-blob-3{width:400px;height:400px;bottom:5%;left:10%;background:radial-gradient(circle,#8b5cf6,#ec4899)}.reveal-item{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal-item.is-revealed{opacity:1;transform:translateY(0)}.glass-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color var(--duration-base) var(--ease),box-shadow var(--duration-base) var(--ease)}.glass-card:hover{border-color:var(--border-medium);box-shadow:var(--card-shadow-hover)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){input,textarea,select{font-size:16px!important}}@media(max-width:640px){.section{padding-top:52px;padding-bottom:52px}.section-header{margin-bottom:32px}.container{padding-left:16px;padding-right:16px}}@media(max-width:540px){.section-title{font-size:clamp(1.65rem,7.5vw,2.05rem)}.section-subtitle{font-size:.92rem}.section-tag{font-size:.72rem;padding:5px 12px;letter-spacing:.06em}}@media(max-width:380px){.btn{padding:10px 16px;font-size:.88rem}.btn-sm{padding:7px 12px;font-size:.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal-item{opacity:1;transform:none}}
