.navbar[data-v-f7e29a2c]{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;background:transparent}.navbar.scrolled[data-v-f7e29a2c]{background:#fafaf8e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--color-border)}.nav-inner[data-v-f7e29a2c]{display:flex;align-items:center;justify-content:space-between;height:68px}.nav-logo[data-v-f7e29a2c]{display:flex;align-items:center;gap:10px;text-decoration:none}.logo-mark[data-v-f7e29a2c]{width:42px;height:42px;object-fit:cover;object-position:center;border-radius:12px;display:block;box-shadow:0 1px #0000000a}.logo-name[data-v-f7e29a2c]{font-family:var(--font-body);font-weight:500;font-size:.9375rem;color:var(--color-text)}.nav-links[data-v-f7e29a2c]{display:flex;align-items:center;gap:4px}.nav-link[data-v-f7e29a2c]{padding:6px 14px;border-radius:100px;font-size:.875rem;font-weight:450;color:var(--color-text-muted);transition:color .15s,background .15s}.nav-link[data-v-f7e29a2c]:hover{color:var(--color-text);background:var(--color-surface-alt)}.nav-link.active[data-v-f7e29a2c]{color:var(--color-text);font-weight:500}.nav-cta[data-v-f7e29a2c]{margin-left:8px}.hamburger[data-v-f7e29a2c]{display:none;flex-direction:column;gap:5px;padding:4px;background:none;border:none;cursor:pointer}.hamburger span[data-v-f7e29a2c]{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:transform .25s ease,opacity .25s ease;transform-origin:center}.hamburger span:nth-child(1).active[data-v-f7e29a2c]{transform:translateY(7px) rotate(45deg)}.hamburger span:nth-child(2).active[data-v-f7e29a2c]{opacity:0}.hamburger span:nth-child(3).active[data-v-f7e29a2c]{transform:translateY(-7px) rotate(-45deg)}.nav-backdrop[data-v-f7e29a2c]{display:none;position:fixed;inset:0;background:#0003;z-index:999}@media(max-width:840px){.hamburger[data-v-f7e29a2c]{display:flex;z-index:1001}.nav-backdrop[data-v-f7e29a2c]{display:block}.nav-links[data-v-f7e29a2c]{position:fixed;top:0;right:-280px;width:260px;height:100vh;background:var(--color-surface);flex-direction:column;align-items:flex-start;padding:90px 24px 32px;gap:4px;box-shadow:var(--shadow-lg);transition:right .3s cubic-bezier(.25,.46,.45,.94);z-index:1000}.nav-links.open[data-v-f7e29a2c]{right:0}.nav-link[data-v-f7e29a2c]{width:100%;padding:10px 16px;font-size:1rem;border-radius:var(--radius-md)}.nav-cta[data-v-f7e29a2c]{margin-left:0;margin-top:16px}}.hero[data-v-745467b7]{padding-top:120px;padding-bottom:80px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;background:var(--color-bg);position:relative;overflow:hidden}.hero[data-v-745467b7]:before{content:"";position:absolute;top:-200px;right:-100px;width:600px;height:600px;background:radial-gradient(circle,rgba(26,92,255,.06) 0%,transparent 65%);pointer-events:none}.hero-container[data-v-745467b7]{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:center}.hero-badge[data-v-745467b7]{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#edfaf3;border:1px solid #c6f0d8;border-radius:100px;font-size:.8125rem;font-weight:500;color:#1a7a46;margin-bottom:28px}.badge-dot[data-v-745467b7]{width:7px;height:7px;background:#2ecc71;border-radius:50%;animation:pulse-745467b7 2s ease-in-out infinite}@keyframes pulse-745467b7{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.hero-name[data-v-745467b7]{color:var(--color-text);margin-bottom:16px}.hero-name em[data-v-745467b7]{font-style:italic;color:var(--color-accent);font-weight:300}.hero-role[data-v-745467b7]{font-family:var(--font-body);font-size:1.125rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:24px}.hero-intro[data-v-745467b7]{color:var(--color-text-muted);max-width:520px;margin-bottom:40px}.hero-actions[data-v-745467b7]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}.hero-visual[data-v-745467b7]{display:flex;align-items:center;justify-content:center}.photo-frame[data-v-745467b7]{position:relative;width:min(390px,100%)}.photo-placeholder[data-v-745467b7]{width:100%;aspect-ratio:13 / 15;border-radius:var(--radius-xl);background:var(--color-surface-alt);border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.photo-image[data-v-745467b7]{width:100%;height:100%;object-fit:cover;object-position:46% 14%;display:block;transform:scale(1.16)}.hero-scroll-hint[data-v-745467b7]{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.4}.scroll-line[data-v-745467b7]{width:1px;height:36px;background:var(--color-text);animation:scrollDown-745467b7 2s ease-in-out infinite;transform-origin:top}@keyframes scrollDown-745467b7{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:1}to{transform:scaleY(1);opacity:0}}.hero-scroll-hint span[data-v-745467b7]{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}@media(max-width:960px){.hero-container[data-v-745467b7]{grid-template-columns:1fr;gap:48px}.hero-visual[data-v-745467b7]{display:none}}@media(max-width:600px){.hero[data-v-745467b7]{padding-top:100px}.hero-actions[data-v-745467b7]{flex-direction:column}.hero-actions .btn[data-v-745467b7]{justify-content:center}}.section-head[data-v-36609ca1]{max-width:560px;margin-bottom:56px}.skills-grid[data-v-36609ca1]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.skill-card[data-v-36609ca1]{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;transition:transform .2s,box-shadow .2s}.skill-card[data-v-36609ca1]:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.skill-card-header[data-v-36609ca1]{display:flex;align-items:center;gap:14px;margin-bottom:24px}.skill-card-icon[data-v-36609ca1]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.skill-card-title[data-v-36609ca1]{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin-top:2px}.skill-items[data-v-36609ca1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.skill-item[data-v-36609ca1]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s,background .15s}.skill-item[data-v-36609ca1]:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.skill-icon-devicon[data-v-36609ca1]{font-size:1.375rem;flex-shrink:0}.skill-icon-svg[data-v-36609ca1]{width:1.375rem;height:1.375rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.skill-name[data-v-36609ca1]{font-size:.8125rem;font-weight:500;color:var(--color-text)}@media(max-width:768px){.skills-grid[data-v-36609ca1]{grid-template-columns:1fr}}.projects-section[data-v-87623031]{background:var(--color-surface-alt)}.section-head[data-v-87623031]{max-width:560px;margin-bottom:32px}.filter-tabs[data-v-87623031]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}.filter-btn[data-v-87623031]{padding:7px 18px;border-radius:100px;font-size:.875rem;font-weight:500;background:var(--color-surface);border:1.5px solid var(--color-border);color:var(--color-text-muted);transition:all .15s}.filter-btn[data-v-87623031]:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-btn.active[data-v-87623031]{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.projects-grid[data-v-87623031]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.project-card[data-v-87623031]{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .25s,box-shadow .25s}.project-card[data-v-87623031]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.project-card.featured[data-v-87623031]{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}.project-visual[data-v-87623031]{position:relative;height:220px;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-card.featured .project-visual[data-v-87623031]{height:auto;min-height:300px}.project-visual.has-gallery[data-v-87623031]{cursor:pointer;padding:32px}.project-visual.has-gallery[data-v-87623031]:focus-visible{outline:3px solid var(--color-accent);outline-offset:-6px}.project-card.featured .project-visual.has-gallery[data-v-87623031]{min-height:380px}.project-gallery-preview[data-v-87623031]{width:min(92%,520px);min-height:310px;display:grid;grid-template-columns:.88fr .78fr;gap:12px;align-items:stretch;transition:transform .25s ease}.project-gallery-preview.single[data-v-87623031]{width:min(88%,420px);grid-template-columns:1fr}.project-gallery-preview.single .gallery-shot.primary[data-v-87623031]{min-height:310px}.project-visual.has-gallery:hover .project-gallery-preview[data-v-87623031]{transform:translateY(-4px)}.gallery-shot[data-v-87623031]{background:var(--color-surface);border:1px solid rgba(255,255,255,.75);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg)}.gallery-shot img[data-v-87623031]{width:100%;height:100%;object-fit:cover;object-position:top center}.gallery-side-stack[data-v-87623031]{display:grid;grid-template-rows:1fr 1fr;gap:12px}.gallery-open-badge[data-v-87623031]{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;background:#1a1917db;color:#fff;border-radius:100px;font-size:.8125rem;font-weight:600;box-shadow:var(--shadow-md)}.project-visual-inner[data-v-87623031]{width:76%;transform:perspective(800px) rotateX(4deg) rotateY(-4deg);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-lg);transition:transform .3s ease}.project-card:hover .project-visual-inner[data-v-87623031]{transform:perspective(800px) rotateX(0) rotateY(0)}.browser-bar[data-v-87623031]{height:24px;background:#e8e6e2;display:flex;align-items:center;gap:5px;padding:0 10px}.browser-bar span[data-v-87623031]{width:8px;height:8px;border-radius:50%;background:#ccc}.browser-bar span[data-v-87623031]:nth-child(1){background:#ff6b6b}.browser-bar span[data-v-87623031]:nth-child(2){background:#ffd93d}.browser-bar span[data-v-87623031]:nth-child(3){background:#6bcb77}.project-screen[data-v-87623031]{height:100px;padding:8px;position:relative;overflow:hidden}.screen-content[data-v-87623031]{display:flex;height:100%;gap:6px;position:relative}.screen-header[data-v-87623031]{position:absolute;top:0;left:0;right:0;height:16px;opacity:.7;border-radius:3px}.screen-rows[data-v-87623031]{display:flex;flex-direction:column;gap:5px;margin-top:22px;flex:1}.screen-row[data-v-87623031]{height:8px;background:#00000012;border-radius:4px}.screen-row[data-v-87623031]:last-child{width:60%}.screen-sidebar[data-v-87623031]{width:28px;margin-top:22px;background:#0000000f;border-radius:4px}.project-overlay[data-v-87623031]{position:absolute;inset:0;background:#0a0a0a99;display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .25s}.project-card:hover .project-overlay[data-v-87623031]{opacity:1}.featured-badge[data-v-87623031]{position:absolute;top:14px;left:14px;background:#1a5cff;color:#fff;padding:4px 12px;border-radius:100px;font-size:.75rem;font-weight:600}.project-body[data-v-87623031]{padding:24px}.project-meta[data-v-87623031]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.project-title[data-v-87623031]{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:6px;line-height:1.3}.project-role[data-v-87623031]{display:flex;align-items:center;gap:5px;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:10px}.project-summary[data-v-87623031]{font-size:.9rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:16px}.gallery-body-btn[data-v-87623031]{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;margin-bottom:16px;background:var(--color-text);color:var(--color-bg);border-radius:100px;font-size:.8125rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.gallery-body-btn[data-v-87623031]:hover{background:#2d2b28;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.project-problem[data-v-87623031]{background:var(--color-bg);border-left:3px solid var(--color-accent);padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:16px;font-size:.875rem;color:var(--color-text-muted)}.problem-label[data-v-87623031]{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px}.project-details[data-v-87623031]{display:flex;flex-direction:column;gap:14px;margin-bottom:16px;padding-top:4px}.detail-row[data-v-87623031]{display:flex;gap:12px;font-size:.875rem}.detail-icon[data-v-87623031]{width:16px;height:16px;color:var(--color-accent);flex-shrink:0;margin-top:2px}.detail-row strong[data-v-87623031]{display:block;font-weight:600;font-size:.8125rem;margin-bottom:2px}.detail-row p[data-v-87623031]{color:var(--color-text-muted);line-height:1.55}.expand-btn[data-v-87623031]{display:flex;align-items:center;gap:5px;font-size:.8125rem;font-weight:500;color:var(--color-accent);margin-bottom:16px;padding:0;background:none;border:none}.expand-btn[data-v-87623031]:hover{opacity:.75}.project-stack[data-v-87623031]{display:flex;align-items:flex-start;gap:10px;padding-top:16px;border-top:1px solid var(--color-border)}.stack-label[data-v-87623031]{font-size:.75rem;font-weight:600;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.08em;padding-top:5px;flex-shrink:0}.stack-icons[data-v-87623031]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.stack-chip[data-v-87623031]{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:100px;font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.stack-icon[data-v-87623031]{font-size:1rem;opacity:.8;transition:opacity .15s}.stack-chip:hover .stack-icon[data-v-87623031]{opacity:1}.gallery-modal[data-v-87623031]{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#1a1917ad;backdrop-filter:blur(6px)}.gallery-dialog[data-v-87623031]{width:min(1040px,100%);max-height:92vh;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);overflow:hidden;display:flex;flex-direction:column}.gallery-header[data-v-87623031]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--color-border)}.gallery-kicker[data-v-87623031]{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:2px}.gallery-header h3[data-v-87623031]{font-family:var(--font-display);font-size:1.25rem;line-height:1.2}.gallery-close[data-v-87623031]{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);flex-shrink:0;transition:color .15s,border-color .15s}.gallery-close[data-v-87623031]:hover{color:var(--color-text);border-color:var(--color-text)}.gallery-stage[data-v-87623031]{position:relative;min-height:430px;padding:20px 68px;background:var(--color-surface-alt);display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-stage img[data-v-87623031]{max-width:100%;max-height:62vh;object-fit:contain;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg)}.gallery-nav[data-v-87623031]{position:absolute;top:50%;width:42px;height:42px;transform:translateY(-50%);border-radius:50%;display:grid;place-items:center;background:#ffffffeb;color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform .15s,border-color .15s}.gallery-nav[data-v-87623031]:hover{border-color:var(--color-accent);transform:translateY(-50%) scale(1.04)}.gallery-nav.prev[data-v-87623031]{left:18px}.gallery-nav.next[data-v-87623031]{right:18px}.gallery-footer[data-v-87623031]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 22px;border-top:1px solid var(--color-border)}.gallery-footer strong[data-v-87623031]{display:block;font-size:.95rem;margin-bottom:3px}.gallery-footer p[data-v-87623031]{max-width:720px;color:var(--color-text-muted);font-size:.875rem;line-height:1.5}.gallery-footer span[data-v-87623031]{font-size:.8125rem;font-weight:700;color:var(--color-text-faint);white-space:nowrap}.gallery-thumbs[data-v-87623031]{display:flex;gap:10px;padding:0 22px 22px;overflow-x:auto}.gallery-thumb[data-v-87623031]{width:96px;height:64px;padding:0;border-radius:10px;overflow:hidden;border:2px solid transparent;background:var(--color-bg);flex:0 0 auto}.gallery-thumb.active[data-v-87623031]{border-color:var(--color-accent)}.gallery-thumb img[data-v-87623031]{width:100%;height:100%;object-fit:cover;object-position:top center}@media(max-width:840px){.project-card.featured[data-v-87623031],.projects-grid[data-v-87623031]{grid-template-columns:1fr}.project-card.featured .project-visual.has-gallery[data-v-87623031]{min-height:340px}.project-gallery-preview[data-v-87623031]{width:min(100%,420px);min-height:260px}.gallery-modal[data-v-87623031]{padding:14px}.gallery-stage[data-v-87623031]{min-height:360px;padding:18px 54px}.gallery-footer[data-v-87623031]{flex-direction:column;gap:8px}}@media(max-width:560px){.project-visual.has-gallery[data-v-87623031]{padding:24px 18px}.project-gallery-preview[data-v-87623031]{grid-template-columns:1fr;min-height:auto}.gallery-side-stack[data-v-87623031]{grid-template-columns:1fr 1fr;grid-template-rows:none}.gallery-shot.primary[data-v-87623031]{height:240px}.gallery-side-stack .gallery-shot[data-v-87623031]{height:120px}.gallery-stage[data-v-87623031]{min-height:300px;padding:16px}.gallery-nav[data-v-87623031]{top:auto;bottom:14px;transform:none}.gallery-nav[data-v-87623031]:hover{transform:scale(1.04)}.gallery-nav.prev[data-v-87623031]{left:16px}.gallery-nav.next[data-v-87623031]{right:16px}.gallery-header[data-v-87623031]{padding:16px}.gallery-footer[data-v-87623031]{padding:14px 16px}.gallery-thumbs[data-v-87623031]{padding:0 16px 16px}}.section-head[data-v-24df9cc8]{max-width:560px;margin-bottom:56px}.exp-layout[data-v-24df9cc8]{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.exp-timeline[data-v-24df9cc8]{display:flex;flex-direction:column;gap:6px}.exp-item[data-v-24df9cc8]{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.exp-item[data-v-24df9cc8]:hover,.exp-item.active[data-v-24df9cc8]{border-color:var(--color-accent);background:var(--color-accent-light)}.exp-dot[data-v-24df9cc8]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.exp-item-content[data-v-24df9cc8]{flex:1;min-width:0}.exp-type-tag[data-v-24df9cc8]{display:inline-block;padding:2px 8px;border-radius:100px;font-size:.6875rem;font-weight:600;margin-bottom:4px}.exp-title[data-v-24df9cc8]{font-family:var(--font-display);font-size:.9375rem;font-weight:700;line-height:1.3;color:var(--color-text)}.exp-org[data-v-24df9cc8],.exp-date[data-v-24df9cc8]{font-size:.8125rem;color:var(--color-text-muted)}.exp-chevron[data-v-24df9cc8]{color:var(--color-text-faint);flex-shrink:0;transition:color .15s}.exp-item.active .exp-chevron[data-v-24df9cc8]{color:var(--color-accent)}.exp-detail[data-v-24df9cc8]{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;position:sticky;top:88px}.exp-detail-header[data-v-24df9cc8]{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start}.exp-detail-icon[data-v-24df9cc8]{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exp-detail-role[data-v-24df9cc8]{font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.25;margin-bottom:4px}.exp-detail-org[data-v-24df9cc8]{font-weight:500;color:var(--color-text-muted);font-size:.9rem}.exp-detail-date[data-v-24df9cc8]{font-size:.8125rem;color:var(--color-text-faint);margin-top:2px}.exp-detail-desc[data-v-24df9cc8]{font-size:.9375rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.exp-highlights[data-v-24df9cc8]{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.highlight-item[data-v-24df9cc8]{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;color:var(--color-text)}.detail-skills-label[data-v-24df9cc8]{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:10px}.detail-skills-list[data-v-24df9cc8]{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:900px){.exp-layout[data-v-24df9cc8]{grid-template-columns:1fr}.exp-detail[data-v-24df9cc8]{position:static}}.about-layout[data-v-80b84ea0]{display:grid;grid-template-columns:1fr 360px;gap:64px;align-items:start}.about-lead[data-v-80b84ea0]{color:var(--color-text);margin-bottom:24px;margin-top:20px}.about-paras[data-v-80b84ea0]{display:flex;flex-direction:column;gap:16px;color:var(--color-text-muted);font-size:.9375rem;line-height:1.75;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--color-border)}.about-values[data-v-80b84ea0]{display:flex;flex-direction:column;gap:16px}.value-item[data-v-80b84ea0]{display:flex;gap:14px;align-items:flex-start}.value-icon[data-v-80b84ea0]{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.value-label[data-v-80b84ea0]{font-weight:600;font-size:.9375rem;margin-bottom:2px}.value-desc[data-v-80b84ea0]{font-size:.875rem;color:var(--color-text-muted)}.about-card[data-v-80b84ea0]{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:20px}.about-photo-area[data-v-80b84ea0]{height:260px;background:var(--color-surface-alt);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-border);overflow:hidden}.about-photo-image[data-v-80b84ea0]{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}.about-quick-facts[data-v-80b84ea0]{padding:20px;display:flex;flex-direction:column;gap:10px}.fact-item[data-v-80b84ea0]{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.fact-item[data-v-80b84ea0]:last-child{border-bottom:none;padding-bottom:0}.fact-label[data-v-80b84ea0]{color:var(--color-text-muted);font-weight:400}.fact-val[data-v-80b84ea0]{font-weight:600;color:var(--color-text);text-align:right;max-width:180px}.about-interests[data-v-80b84ea0]{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.interests-label[data-v-80b84ea0]{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:14px}.interests-grid[data-v-80b84ea0]{display:flex;flex-wrap:wrap;gap:8px}.interest-chip[data-v-80b84ea0]{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:100px;font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.interest-emoji[data-v-80b84ea0]{font-size:.95rem;line-height:1}@media(max-width:900px){.about-layout[data-v-80b84ea0]{grid-template-columns:1fr;gap:40px}}.resume-section[data-v-08337e23]{background:var(--color-bg)}.resume-layout[data-v-08337e23]{display:grid;grid-template-columns:1fr 340px;gap:64px;align-items:center}.resume-highlights[data-v-08337e23]{display:flex;flex-direction:column;gap:14px;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--color-border)}.rh-item[data-v-08337e23]{display:flex;align-items:center;gap:14px}.rh-icon[data-v-08337e23]{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rh-label[data-v-08337e23]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);margin-bottom:2px}.rh-val[data-v-08337e23]{font-size:.9375rem;font-weight:500;color:var(--color-text)}.resume-actions[data-v-08337e23]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.resume-note[data-v-08337e23]{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-text-faint)}.cv-mockup[data-v-08337e23]{display:block;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);position:relative;transition:transform .25s,box-shadow .25s;cursor:pointer;color:inherit;text-decoration:none}.cv-mockup[data-v-08337e23]:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-hover)}.cv-mockup:hover .cv-download-overlay[data-v-08337e23]{opacity:1}.cv-page-preview[data-v-08337e23]{display:block;width:100%;aspect-ratio:1 / 1.414;border:0;background:#fff;pointer-events:none}.cv-download-overlay[data-v-08337e23]{position:absolute;inset:0;background:#1a2f6fbf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .25s;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.04em}@media(max-width:900px){.resume-layout[data-v-08337e23]{grid-template-columns:1fr;gap:40px}.resume-preview[data-v-08337e23]{display:none}}.contact-section[data-v-c0ffbc9e]{background:var(--color-surface-alt)}.contact-layout[data-v-c0ffbc9e]{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.contact-sub[data-v-c0ffbc9e]{color:var(--color-text-muted);margin-bottom:36px;margin-top:16px}.contact-links[data-v-c0ffbc9e]{display:flex;flex-direction:column;gap:10px;margin-bottom:36px}.contact-link-item[data-v-c0ffbc9e]{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;transition:border-color .15s,transform .15s}.contact-link-item[data-v-c0ffbc9e]:hover{border-color:var(--color-accent);transform:translate(3px)}.contact-link-icon[data-v-c0ffbc9e]{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-link-body[data-v-c0ffbc9e]{flex:1}.contact-link-label[data-v-c0ffbc9e]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint)}.contact-link-val[data-v-c0ffbc9e]{font-size:.9rem;font-weight:500;color:var(--color-text)}.contact-link-arrow[data-v-c0ffbc9e]{color:var(--color-text-faint);flex-shrink:0}.availability-badge[data-v-c0ffbc9e]{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#edfaf3;border:1px solid #c6f0d8;border-radius:var(--radius-md)}.avail-dot[data-v-c0ffbc9e]{width:10px;height:10px;background:#2ecc71;border-radius:50%;flex-shrink:0;animation:pulse-c0ffbc9e 2s ease-in-out infinite}@keyframes pulse-c0ffbc9e{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.availability-badge strong[data-v-c0ffbc9e]{font-size:.9rem;color:#1a7a46;display:block}.availability-badge p[data-v-c0ffbc9e]{font-size:.8125rem;color:#2d9d5e;margin-top:2px}.contact-form-card[data-v-c0ffbc9e]{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:32px}.form-title[data-v-c0ffbc9e]{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin-bottom:4px}.form-sub[data-v-c0ffbc9e]{font-size:.875rem;color:var(--color-text-muted);margin-bottom:28px}.contact-form[data-v-c0ffbc9e]{display:flex;flex-direction:column;gap:18px}.form-row[data-v-c0ffbc9e]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group[data-v-c0ffbc9e]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-c0ffbc9e]{font-size:.8125rem;font-weight:600;color:var(--color-text)}.form-group input[data-v-c0ffbc9e],.form-group textarea[data-v-c0ffbc9e]{width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9375rem;background:var(--color-bg);color:var(--color-text);transition:border-color .15s,box-shadow .15s;outline:none;resize:vertical}.form-group input[data-v-c0ffbc9e]:focus,.form-group textarea[data-v-c0ffbc9e]:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #1a5cff1a}.submit-btn[data-v-c0ffbc9e]{width:100%;justify-content:center}.submit-btn[data-v-c0ffbc9e]:disabled{opacity:.65;cursor:not-allowed;transform:none!important}.spinner[data-v-c0ffbc9e]{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-c0ffbc9e .7s linear infinite}@keyframes spin-c0ffbc9e{to{transform:rotate(360deg)}}.form-success[data-v-c0ffbc9e]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:32px 0}.success-icon[data-v-c0ffbc9e]{width:52px;height:52px;border-radius:50%;background:#edfaf3;color:#16a34a;font-size:1.5rem;display:flex;align-items:center;justify-content:center;border:2px solid #c6f0d8}.form-success h4[data-v-c0ffbc9e]{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.form-success p[data-v-c0ffbc9e]{font-size:.875rem;color:var(--color-text-muted)}@media(max-width:900px){.contact-layout[data-v-c0ffbc9e]{grid-template-columns:1fr;gap:40px}.form-row[data-v-c0ffbc9e]{grid-template-columns:1fr}}.footer[data-v-5623ec00]{background:var(--color-text);color:var(--color-bg)}.footer-inner[data-v-5623ec00]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:40px;padding-bottom:40px}.footer-brand[data-v-5623ec00]{display:flex;align-items:center;gap:12px}.logo-initials-sm[data-v-5623ec00]{width:36px;height:36px;background:#ffffff1f;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.875rem;color:#fff}.footer-name[data-v-5623ec00]{font-weight:600;font-size:.9375rem}.footer-tagline[data-v-5623ec00]{font-size:.8125rem;opacity:.5}.footer-nav[data-v-5623ec00]{display:flex;flex-wrap:wrap;gap:4px}.footer-link[data-v-5623ec00]{padding:5px 12px;border-radius:100px;font-size:.8125rem;color:#fff9;transition:color .15s,background .15s}.footer-link[data-v-5623ec00]:hover{color:#fff;background:#ffffff14}.footer-social[data-v-5623ec00]{display:flex;gap:8px}.social-btn[data-v-5623ec00]{width:36px;height:36px;border-radius:10px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:background .15s,color .15s}.social-btn[data-v-5623ec00]:hover{background:#fff3;color:#fff}.footer-bottom[data-v-5623ec00]{border-top:1px solid rgba(255,255,255,.1);padding:16px 0}.footer-bottom p[data-v-5623ec00]{font-size:.8125rem;color:#fff6;text-align:center}.footer-bottom em[data-v-5623ec00]{font-style:italic;color:#ffffff80}@media(max-width:768px){.footer-inner[data-v-5623ec00]{flex-direction:column;align-items:flex-start}.footer-nav[data-v-5623ec00]{display:none}}#portfolio{min-height:100vh}:root{--color-bg: #fafaf8;--color-surface: #ffffff;--color-surface-alt: #f4f3ef;--color-border: #e8e6e0;--color-text: #1a1917;--color-text-muted: #6b6860;--color-text-faint: #a09d97;--color-accent: #1a5cff;--color-accent-hover: #0e46d4;--color-accent-light: #eef2ff;--color-accent-subtle: rgba(26, 92, 255, .08);--color-tag: #e8f0fe;--color-tag-text: #1a5cff;--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 32px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);--shadow-lg: 0 8px 32px rgba(0,0,0,.1), 0 4px 12px rgba(0,0,0,.06);--shadow-hover: 0 16px 48px rgba(0,0,0,.14), 0 6px 18px rgba(0,0,0,.08);--max-w: 1160px;--section-py: 96px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;border:none;background:none;font-family:inherit}.display-xl{font-family:var(--font-display);font-size:clamp(3rem,7vw,5.5rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.display-lg{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}.display-md{font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500;line-height:1.25}.body-lg{font-size:1.125rem;line-height:1.75}.body-md{font-size:1rem;line-height:1.7}.body-sm{font-size:.875rem;line-height:1.6}.label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}section{padding:var(--section-py) 0}.section-tag{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:16px}.section-tag:before{content:"";width:24px;height:2px;background:var(--color-accent);border-radius:2px}.section-heading{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:16px}.section-sub{color:var(--color-text-muted);font-size:1.05rem;max-width:560px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:100px;font-size:.9375rem;font-weight:500;font-family:var(--font-body);transition:all .2s ease;white-space:nowrap}.btn-primary{background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:#2d2b28;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--color-text);border:1.5px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-text);background:var(--color-surface-alt);transform:translateY(-1px)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #1a5cff4d}.btn-sm{padding:8px 18px;font-size:.875rem}.tech-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:100px;font-size:.8rem;font-weight:500;background:var(--color-accent-light);color:var(--color-accent);border:1px solid rgba(26,92,255,.15)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.divider{height:1px;background:var(--color-border);border:none;margin:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}@media(max-width:768px){:root{--section-py: 64px}}
