.hero-section[data-v-dc9a876d]{align-items:center;background:var(--bg-base);display:flex;min-height:100vh;overflow:hidden;position:relative}.hero-bg-grid[data-v-dc9a876d]{background-image:radial-gradient(rgba(77,124,255,.16) 1px,transparent 0);background-size:30px 30px;inset:0;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 20%,transparent 80%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 20%,transparent 80%);position:absolute}.hero-aurora[data-v-dc9a876d]{border-radius:50%;filter:blur(90px);pointer-events:none;position:absolute;will-change:transform}.hero-aurora-blue[data-v-dc9a876d]{animation:aurora-drift-dc9a876d 16s ease-in-out infinite alternate;background:radial-gradient(circle at center,rgba(77,124,255,.16) 0,transparent 65%);height:55vw;max-height:780px;max-width:780px;right:-8%;top:-18%;width:55vw}.hero-aurora-orange[data-v-dc9a876d]{animation:aurora-drift-dc9a876d 20s ease-in-out infinite alternate-reverse;background:radial-gradient(circle at center,rgba(255,106,61,.07) 0,transparent 65%);bottom:-12%;height:42vw;left:-14%;max-height:600px;max-width:600px;width:42vw}@keyframes aurora-drift-dc9a876d{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-6%,5%,0) scale(1.12)}}.hero-container[data-v-dc9a876d]{align-items:center;display:grid;gap:3rem;grid-template-columns:1.1fr .9fr;padding:7rem 1rem 3rem;position:relative;width:100%;z-index:10}@media (max-width:1024px){.hero-container[data-v-dc9a876d]{grid-template-columns:1fr;padding-top:6rem}}.hero-avatar-mobile[data-v-dc9a876d]{display:none}@media (max-width:1024px){.hero-avatar-mobile[data-v-dc9a876d]{animation:rise-in-dc9a876d .7s cubic-bezier(.22,1,.36,1) .15s both;aspect-ratio:1;display:block;margin:0 auto 2rem;position:relative;width:min(264px,68vw)}}.avatar-halo[data-v-dc9a876d]{background:radial-gradient(circle at center,rgba(77,124,255,.3) 0,transparent 65%);filter:blur(18px);inset:-14%;pointer-events:none}.avatar-halo[data-v-dc9a876d],.avatar-img[data-v-dc9a876d]{border-radius:50%;position:absolute}.avatar-img[data-v-dc9a876d]{background:radial-gradient(circle at 30% 20%,rgba(77,124,255,.22),transparent 60%),var(--bg-elevated);border:1px solid var(--border);height:70%;inset:15%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:70%}.avatar-orbit[data-v-dc9a876d]{animation:orbit-spin-dc9a876d 18s linear infinite;height:100%;inset:0;position:absolute;width:100%}.orbit-text[data-v-dc9a876d]{direction:ltr;fill:var(--accent);font-family:var(--font-mono);font-size:11.5px;opacity:.85}@keyframes orbit-spin-dc9a876d{to{transform:rotate(1turn)}}.hero-title[data-v-dc9a876d]{font-family:var(--font-display);font-size:clamp(3.2rem,6.5vw,6.2rem);letter-spacing:-.025em;line-height:1.03;margin:0 0 1.5rem}.title-row[data-v-dc9a876d]{display:flex;flex-wrap:nowrap;gap:.28em}.small-row[data-v-dc9a876d]{margin-top:.1em}.title-clip[data-v-dc9a876d]{display:inline-block;overflow:hidden;padding-bottom:.05em}.hero-word[data-v-dc9a876d]{animation:word-up-dc9a876d 1.05s cubic-bezier(.22,1,.36,1) both;animation-delay:.35s;animation-delay:calc(.35s + var(--wi, 0)*85ms);color:var(--text);display:inline-block;transform:translateY(115%)}@keyframes word-up-dc9a876d{to{transform:translateY(0)}}.accent-w[data-v-dc9a876d]{color:var(--accent)}.hero-title[data-v-dc9a876d]{position:relative}.hero-title[data-v-dc9a876d]:before{background:radial-gradient(ellipse at center,rgba(77,124,255,.18) 0,transparent 70%);content:"";filter:blur(28px);height:55%;left:-8%;pointer-events:none;position:absolute;top:22%;width:70%;z-index:-1}.dim-w[data-v-dc9a876d]{color:var(--text);font-size:.62em}.hero-bio[data-v-dc9a876d]{animation:rise-in-dc9a876d .8s cubic-bezier(.22,1,.36,1) .85s both;color:var(--text-muted);font-family:var(--font-body);font-size:1rem;line-height:1.8;margin-bottom:2.25rem;max-width:460px}@keyframes rise-in-dc9a876d{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-stats[data-v-dc9a876d]{display:flex;gap:2.5rem;margin-bottom:2.25rem}.stat-item[data-v-dc9a876d]{animation:rise-in-dc9a876d .7s cubic-bezier(.22,1,.36,1) both;display:flex;flex-direction:column;gap:.25rem}.stat-item[data-v-dc9a876d]:first-child{animation-delay:1s}.stat-item[data-v-dc9a876d]:nth-child(2){animation-delay:1.1s}.stat-item[data-v-dc9a876d]:nth-child(3){animation-delay:1.2s}.stat-value[data-v-dc9a876d]{align-items:baseline;display:flex;font-family:var(--font-display);font-size:2.1rem;gap:.05em;line-height:1}.stat-num[data-v-dc9a876d],.stat-sfx[data-v-dc9a876d]{color:var(--accent)}.stat-sfx[data-v-dc9a876d]{font-size:1.3rem}.stat-label[data-v-dc9a876d]{color:var(--text-muted);font-size:.875rem;letter-spacing:.18em;margin:0;text-transform:uppercase}.hero-actions[data-v-dc9a876d]{display:flex;flex-wrap:wrap;gap:.85rem}.hero-actions a[data-v-dc9a876d]{animation:rise-in-dc9a876d .6s cubic-bezier(.22,1,.36,1) both}.hero-actions a[data-v-dc9a876d]:first-child{animation-delay:1.2s}.hero-actions a[data-v-dc9a876d]:nth-child(2){animation-delay:1.3s}.cta-primary[data-v-dc9a876d]{--btn-anim-fill:var(--text);--btn-anim-text:var(--ink-dark);background:var(--accent);border-radius:100px;color:var(--text-on-accent);font-weight:600}.cta-ghost[data-v-dc9a876d],.cta-primary[data-v-dc9a876d]{align-items:center;display:inline-flex;font-family:var(--font-body);font-size:.88rem;gap:.5rem;padding:.82rem 1.75rem}.cta-ghost[data-v-dc9a876d]{border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-muted)}.hero-photo-wrap[data-v-dc9a876d]{animation:photo-in-dc9a876d 1.2s cubic-bezier(.22,1,.36,1) .4s both;display:flex;justify-content:center;padding-inline:40px;position:relative;width:-moz-fit-content;width:fit-content}@keyframes photo-in-dc9a876d{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}@media (max-width:1024px){.hero-photo-wrap[data-v-dc9a876d]{display:none}}.photo-frame[data-v-dc9a876d]{max-width:100%;position:relative;width:360px}.photo-halo[data-v-dc9a876d]{background:radial-gradient(circle at center,rgba(77,124,255,.22) 0,transparent 68%);border-radius:50%;filter:blur(30px);inset:8%;pointer-events:none;position:absolute}.photo-inner[data-v-dc9a876d]{border-radius:14px;overflow:hidden;position:relative}.hero-img[data-v-dc9a876d]{display:block;width:100%}.frame-corner[data-v-dc9a876d]{border-color:var(--accent);border-style:solid;height:46px;opacity:.65;position:absolute;width:46px}.frame-corner.tl[data-v-dc9a876d]{border-radius:3px 0 0;border-width:1.5px 0 0 1.5px;left:-10px;top:-10px}.frame-corner.br[data-v-dc9a876d]{border-radius:0 0 3px;border-width:0 1.5px 1.5px 0;bottom:-10px;right:-10px}.float-chip[data-v-dc9a876d]{animation:rise-in-dc9a876d .6s cubic-bezier(.22,1,.36,1) both,chip-float-dc9a876d 6s ease-in-out infinite;animation-delay:1.35s,2s;animation-delay:calc(1.35s + var(--ci, 0)*.12s),calc(2s + var(--ci, 0)*.7s);backdrop-filter:blur(8px);background:rgba(21,28,39,.82);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #0006;padding:.55rem .95rem;position:absolute}@keyframes chip-float-dc9a876d{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-chip span[data-v-dc9a876d]{color:var(--accent);letter-spacing:.1em}.float-chip-top[data-v-dc9a876d]{left:-22%;top:18%}.float-chip-bot[data-v-dc9a876d]{bottom:12%;right:-14%}.float-chip-mid-l[data-v-dc9a876d]{left:-26%;top:38%}.float-chip-mid-r[data-v-dc9a876d]{right:-18%;top:55%}.float-chip-lower-l[data-v-dc9a876d]{bottom:28%;left:-30%}.scroll-cue[data-v-dc9a876d]{align-items:center;animation:rise-in-dc9a876d .6s ease 1.7s both;bottom:2.5rem;display:flex;flex-direction:column;gap:.75rem;position:absolute;right:5%}.scroll-line[data-v-dc9a876d]{animation:scroll-anim-dc9a876d 1.6s ease-in-out infinite;background:linear-gradient(to bottom,var(--accent),transparent);height:48px;width:1px}@keyframes scroll-anim-dc9a876d{0%{opacity:0;transform:scaleY(0);transform-origin:top}40%{opacity:1;transform:scaleY(1);transform-origin:top}80%{opacity:0;transform:scaleY(1) translateY(16px)}to{opacity:0}}.skills-section[data-v-d811fe36]{background:var(--bg-base);overflow:hidden}.skills-heading[data-v-d811fe36]{color:var(--text);font-family:var(--font-display);font-size:clamp(1.9rem,4vw,3.2rem);margin:0}.marquee-wrap[data-v-d811fe36]{border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);padding:1.75rem 0}.marquee-row[data-v-d811fe36],.marquee-wrap[data-v-d811fe36]{overflow:hidden}.marquee-row:hover .marquee-track[data-v-d811fe36]{animation-play-state:paused}.marquee-track[data-v-d811fe36]{display:flex;gap:.65rem;width:-moz-max-content;width:max-content;will-change:transform}.marquee-fwd[data-v-d811fe36]{animation:marquee-scroll-d811fe36 70s linear infinite}.marquee-rev[data-v-d811fe36]{animation:marquee-scroll-d811fe36 58s linear infinite reverse}@keyframes marquee-scroll-d811fe36{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-chip[data-v-d811fe36]{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-muted);display:inline-flex;flex-shrink:0;font-family:var(--font-mono);font-size:.875rem;gap:.45rem;padding:.38rem .9rem;transition:border-color .2s,color .2s;white-space:nowrap}.marquee-chip[data-v-d811fe36]:hover{border-color:var(--border);color:var(--text)}.marquee-chip img[data-v-d811fe36]{height:14px;-o-object-fit:contain;object-fit:contain;width:14px}.skills-grid[data-v-d811fe36]{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:14px;display:grid;gap:1px;grid-template-columns:repeat(2,1fr);overflow:hidden}@media (max-width:768px){.skills-grid[data-v-d811fe36]{grid-template-columns:1fr}}.skill-card[data-v-d811fe36]{background:var(--bg-surface);padding:2rem;transition:background .3s}.skill-card[data-v-d811fe36]:hover{background:var(--bg-elevated)}.skill-card-header[data-v-d811fe36]{align-items:baseline;display:flex;gap:.7rem;margin-bottom:1.2rem}.cat-idx[data-v-d811fe36]{color:var(--accent);font-size:.875rem;letter-spacing:.1em;opacity:.65}.cat-title[data-v-d811fe36]{color:var(--text);font-family:var(--font-display);font-size:1.05rem;margin:0}.skill-chips[data-v-d811fe36]{display:flex;flex-wrap:wrap;gap:.4rem;position:relative;z-index:2}.skill-chip[data-v-d811fe36]{align-items:center;background:rgba(77,124,255,.06);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-muted);cursor:default;display:inline-flex;font-family:var(--font-mono);font-size:.875rem;gap:.35rem;padding:.25rem .65rem;transition:all .2s}.skill-chip[data-v-d811fe36]:hover{background:rgba(77,124,255,.12);border-color:var(--accent);color:var(--accent)}.skill-chip img[data-v-d811fe36]{height:12px;-o-object-fit:contain;object-fit:contain;width:12px}.expertise-section[data-v-474f360d]{background:var(--bg-base)}.section-heading[data-v-474f360d]{color:var(--text);font-family:var(--font-display);font-size:clamp(1.9rem,4vw,3.2rem);margin:0 0 2.5rem}.expertise-grid[data-v-474f360d]{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:16px;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);overflow:hidden}@media (max-width:1024px){.expertise-grid[data-v-474f360d]{grid-template-columns:1fr}}.exp-card[data-v-474f360d]{background:var(--bg-surface);cursor:default;display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:2.25rem 2rem;position:relative;transition:background .3s,transform .35s cubic-bezier(.22,1,.36,1),opacity .7s cubic-bezier(.22,1,.36,1)}.exp-card[data-v-474f360d]:hover{background:var(--bg-elevated)}.exp-num[data-v-474f360d]{color:var(--accent);font-size:.875rem;letter-spacing:.12em;opacity:.55}.exp-icon-box[data-v-474f360d]{align-items:center;background:rgba(77,124,255,.08);border:1px solid var(--border);border-radius:10px;display:flex;height:48px;justify-content:center;width:48px}.exp-icon-box img[data-v-474f360d]{height:24px;-o-object-fit:contain;object-fit:contain;width:24px}.exp-title[data-v-474f360d]{font-family:var(--font-display);font-size:1.45rem;line-height:1.2;margin:0}.color-software[data-v-474f360d]{color:var(--text)}.color-vue[data-v-474f360d]{color:var(--accent)}.color-design[data-v-474f360d]{color:var(--accent-orange)}.exp-sub[data-v-474f360d]{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase}.exp-desc[data-v-474f360d],.exp-sub[data-v-474f360d]{color:var(--text-muted);margin:0}.exp-desc[data-v-474f360d]{font-size:.88rem;line-height:1.75}.exp-glow-corner[data-v-474f360d]{bottom:0;height:90px;pointer-events:none;position:absolute;right:0;width:90px}.glow-software[data-v-474f360d]{background:radial-gradient(circle at bottom right,rgba(233,238,246,.05),transparent 70%)}.glow-vue[data-v-474f360d]{background:radial-gradient(circle at bottom right,rgba(77,124,255,.1),transparent 70%)}.glow-design[data-v-474f360d]{background:radial-gradient(circle at bottom right,rgba(255,106,61,.09),transparent 70%)}.exp-section[data-v-728766cf]{background:var(--bg-base)}.section-heading[data-v-728766cf]{color:var(--text);font-family:var(--font-display);font-size:clamp(1.9rem,4vw,3.2rem);margin:0 0 2.5rem}.exp-list[data-v-728766cf]{display:flex;flex-direction:column}.exp-entry[data-v-728766cf]{border-top:1px solid var(--border-subtle)}.exp-entry[data-v-728766cf]:last-child{border-bottom:1px solid var(--border-subtle)}.exp-trigger[data-v-728766cf]{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1.7rem 0;transition:gap .2s}.exp-trigger.is-open .exp-role[data-v-728766cf]{color:var(--accent)}.exp-trigger-left[data-v-728766cf]{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.exp-period[data-v-728766cf]{color:var(--text-muted);flex-shrink:0;font-size:.875rem;letter-spacing:.1em;min-width:110px}.exp-title-wrap[data-v-728766cf]{align-items:baseline;display:flex;flex-wrap:wrap;gap:.75rem}.exp-role[data-v-728766cf]{color:var(--text);font-family:var(--font-display);font-size:1.35rem;line-height:1;transition:color .25s}.exp-company[data-v-728766cf]{color:var(--text-muted);font-size:.875rem;letter-spacing:.08em}.exp-toggle-btn[data-v-728766cf]{align-items:center;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-muted);display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .3s;width:34px}.exp-toggle-btn.open[data-v-728766cf]{background:rgba(77,124,255,.1);border-color:var(--accent);color:var(--accent);transform:rotate(180deg)}.exp-body[data-v-728766cf]{display:flex;gap:3rem;justify-content:space-between;padding:0 0 2rem}@media (max-width:768px){.exp-body[data-v-728766cf]{flex-direction:column;gap:1.5rem}}.exp-body-content[data-v-728766cf]{display:flex;flex:1;flex-direction:column;gap:1.1rem}.exp-meta[data-v-728766cf]{display:flex;flex-wrap:wrap;font-size:.875rem;gap:1.75rem;letter-spacing:.06em}.meta-item[data-v-728766cf]{color:var(--text-muted);gap:.35rem}.meta-item[data-v-728766cf],.meta-link[data-v-728766cf]{align-items:center;display:flex}.meta-link[data-v-728766cf]{color:var(--accent);gap:.3rem;transition:opacity .2s}.meta-link[data-v-728766cf]:hover{opacity:.75}.exp-descs p[data-v-728766cf]{color:var(--text-muted);font-size:.9rem;line-height:1.8;margin:0}.exp-tech-tags[data-v-728766cf]{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.tech-tag[data-v-728766cf]{background:rgba(77,124,255,.05);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-muted);cursor:default;font-size:.875rem;letter-spacing:.08em;padding:.22rem .6rem;transition:all .2s}.tech-tag[data-v-728766cf]:hover{border-color:var(--accent);color:var(--accent)}.exp-logo-col[data-v-728766cf]{align-items:flex-start;display:flex;flex-shrink:0;justify-content:flex-end;min-width:140px}.exp-logo[data-v-728766cf]{max-height:70px;max-width:140px;-o-object-fit:contain;object-fit:contain}.acc-expand-enter-active[data-v-728766cf]{overflow:hidden;transition:all .38s cubic-bezier(.16,1,.3,1)}.acc-expand-leave-active[data-v-728766cf]{overflow:hidden;transition:all .24s ease-in}.acc-expand-enter-from[data-v-728766cf],.acc-expand-leave-to[data-v-728766cf]{max-height:0;opacity:0;transform:translateY(-8px)}.acc-expand-enter-to[data-v-728766cf],.acc-expand-leave-from[data-v-728766cf]{max-height:500px}.projects-section[data-v-f48d5265]{background:var(--bg-base)}.projects-layout[data-v-f48d5265]{align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.projects-layout[data-v-f48d5265]{grid-template-columns:1fr}.projects-visual-wrap[data-v-f48d5265]{display:none}}.projects-heading[data-v-f48d5265]{color:var(--text);font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.1;margin:0 0 1.2rem}.projects-desc[data-v-f48d5265]{color:var(--text-muted);font-size:.95rem;line-height:1.75;margin-bottom:2rem;max-width:400px}.projects-cta[data-v-f48d5265]{--btn-anim-fill:var(--text);--btn-anim-text:var(--ink-dark);align-items:center;background:var(--accent);border-radius:100px;color:var(--text-on-accent);display:inline-flex;font-family:var(--font-body);font-size:.88rem;font-weight:600;gap:.5rem;padding:.82rem 1.8rem}.projects-visual-wrap[data-v-f48d5265]{display:flex;justify-content:center;position:relative}.projects-img[data-v-f48d5265]{border-radius:12px;max-width:440px;position:relative;width:100%;z-index:2}.visual-frame[data-v-f48d5265]{border:1px solid var(--border);border-radius:14px;bottom:-16px;left:16px;position:absolute;right:-16px;top:16px;z-index:1}.visual-glow[data-v-f48d5265]{background:radial-gradient(circle at center,rgba(77,124,255,.16) 0,transparent 70%);filter:blur(36px);inset:15%;pointer-events:none;position:absolute;z-index:0}
