.loader[data-v-39cf4078]{position:fixed;inset:0;z-index:100;overflow:hidden}.loader.is-reveal[data-v-39cf4078]{pointer-events:none}.loader-screen[data-v-39cf4078]{position:absolute;inset:0;background:var(--bg);color:var(--text)}.loader-top[data-v-39cf4078]{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:28px 48px;font-size:14px;color:var(--text-faint)}.loader-logo[data-v-39cf4078]{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.02em;color:var(--text)}.loader-status[data-v-39cf4078]{font-family:var(--font-mono);font-size:13px}.loader-words-wrap[data-v-39cf4078]{position:absolute;left:48px;right:48px;top:clamp(120px,28vh,250px);display:flex;flex-direction:column;gap:18px}.loader-words[data-v-39cf4078]{position:relative;height:1.19em;overflow:hidden;font-family:var(--font-display);font-size:clamp(64px,11.7vw,168px);font-weight:600;letter-spacing:-.05em;line-height:1.19em}.loader-word[data-v-39cf4078]{position:absolute;left:0;top:0;display:block;white-space:nowrap}.loader-letter[data-v-39cf4078]{display:inline-block;transform:translateY(100%);opacity:0;transition:transform .8s cubic-bezier(.65,0,.35,1),opacity .6s ease}.loader-name[data-v-39cf4078]{position:absolute;left:48px;bottom:64px;display:flex;flex-direction:column;gap:6px}.loader-name-main[data-v-39cf4078]{font-size:18px;font-weight:500}.loader-name-sub[data-v-39cf4078]{font-size:15px;color:var(--text-faint)}.loader-count[data-v-39cf4078]{position:absolute;right:40px;bottom:36px;display:flex;align-items:flex-start;gap:8px;font-family:var(--font-display);font-weight:600;letter-spacing:-.06em;line-height:.8}.loader-count-n[data-v-39cf4078]{font-size:clamp(96px,19.5vw,280px);font-variant-numeric:tabular-nums}.loader-count-pct[data-v-39cf4078]{font-size:clamp(24px,3.3vw,48px);padding-top:.3em;color:var(--accent)}.loader-bar[data-v-39cf4078]{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--surface-2)}.loader-bar-fill[data-v-39cf4078]{height:100%;background:var(--accent)}@media(min-width:1025px){.loader-bar[data-v-39cf4078]{display:none}}.loader-curtain[data-v-39cf4078]{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--accent);transform:translateY(100%)}.is-cover .loader-curtain[data-v-39cf4078],.is-reveal .loader-curtain[data-v-39cf4078]{transition:transform .8s var(--ease-menu)}.is-cover .loader-curtain[data-v-39cf4078]{transform:translateY(0)}.is-reveal .loader-curtain[data-v-39cf4078]{transform:translateY(-100%)}.loader-curtain-logo[data-v-39cf4078]{font-family:var(--font-display);font-weight:700;font-size:clamp(96px,19.5vw,280px);letter-spacing:-.06em;line-height:1;color:var(--ink)}@media(max-width:640px){.loader-top[data-v-39cf4078]{padding:20px}.loader-status[data-v-39cf4078]{display:none}.loader-words-wrap[data-v-39cf4078]{left:20px;right:20px}.loader-name[data-v-39cf4078]{left:20px;bottom:150px}.loader-count[data-v-39cf4078]{right:16px;bottom:28px}}@media(prefers-reduced-motion:reduce){.loader-letter[data-v-39cf4078],.is-cover .loader-curtain[data-v-39cf4078],.is-reveal .loader-curtain[data-v-39cf4078]{transition:none}}.transition[data-v-96224c3e]{position:fixed;inset:0;z-index:90;pointer-events:none}.transition.is-active[data-v-96224c3e]{pointer-events:auto}.columns[data-v-96224c3e]{position:absolute;inset:0;display:flex}.column[data-v-96224c3e]{flex:1 1 0;height:100%;margin-left:-1px;background:var(--accent);transform:translateY(-100%)}.label[data-v-96224c3e]{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0 20px;color:var(--ink);opacity:0;transition:opacity .3s ease}.label.is-covered[data-v-96224c3e]{opacity:1}.label-inner[data-v-96224c3e]{position:relative;display:flex;justify-content:center;max-width:100%}.label-kicker[data-v-96224c3e]{position:absolute;left:0;right:0;bottom:100%;padding-bottom:12px;text-align:center;font-family:var(--font-mono);font-size:14px;white-space:nowrap}.label-clip[data-v-96224c3e]{display:block;overflow:hidden;font-family:var(--font-display);font-size:clamp(40px,6.7vw,96px);height:1.21em}.label-text[data-v-96224c3e]{display:block;font-weight:600;letter-spacing:-.05em;line-height:1.21em;white-space:nowrap;transform:translateY(110%);transition:transform .6s cubic-bezier(.22,1,.36,1)}.is-covered .label-text[data-v-96224c3e]{transform:translateY(0)}@media(max-width:640px){.label-text[data-v-96224c3e]{white-space:normal;text-align:center}.label-clip[data-v-96224c3e]{height:auto}}@media(prefers-reduced-motion:reduce){.column[data-v-96224c3e],.label-text[data-v-96224c3e]{transition:none!important}}.page-shell.is-hold[data-v-8a52a475]{opacity:0}.page-shell.is-out[data-v-8a52a475]{animation:page-fade-8a52a475 .6s ease .25s backwards,page-rise-8a52a475 .8s cubic-bezier(.22,1,.36,1) .25s backwards}@keyframes page-fade-8a52a475{0%{opacity:0}}@keyframes page-rise-8a52a475{0%{transform:translateY(40px)}}@media(prefers-reduced-motion:reduce){.page-shell.is-out[data-v-8a52a475]{animation:page-fade-8a52a475 .3s ease backwards}}.header[data-v-34631564]{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px 48px;background:#1c1c1fdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo[data-v-34631564]{display:flex;font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.02em;color:var(--text)}.ch[data-v-34631564]{display:block;height:24px;overflow:hidden;line-height:24px}.ch-in[data-v-34631564]{display:flex;flex-direction:column;transition:transform .5s var(--ease-menu)}.ch-in span[data-v-34631564]{display:block;height:24px}.ch-in span+span[data-v-34631564]{color:var(--accent)}.logo:hover .ch-in[data-v-34631564],.logo:focus-visible .ch-in[data-v-34631564]{transform:translateY(-24px)}.menu[data-v-34631564]{position:relative;width:120px;height:46px}.menu-bg[data-v-34631564]{position:absolute;top:0;right:0;width:120px;height:46px;border-radius:23px;background:var(--accent);box-shadow:0 24px 60px #0000;transition:width .6s var(--ease-menu),height .6s var(--ease-menu),border-radius .6s var(--ease-menu),box-shadow .6s ease}.is-open .menu-bg[data-v-34631564]{width:440px;height:470px;border-radius:28px;box-shadow:0 24px 60px #00000073}.menu-toggle[data-v-34631564]{position:absolute;top:0;right:0;z-index:2;width:120px;height:46px;display:flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:23px;background:transparent;color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.06em;cursor:pointer}.burger[data-v-34631564]{position:relative;display:block;width:14px;height:10px}.bar[data-v-34631564]{position:absolute;left:0;width:14px;height:2px;border-radius:2px;background:var(--ink);transition:all .35s ease}.bar--1[data-v-34631564]{top:1px}.bar--2[data-v-34631564]{top:7px}.is-open .bar--1[data-v-34631564]{top:4px;transform:rotate(45deg)}.is-open .bar--2[data-v-34631564]{top:4px;transform:rotate(-45deg)}.menu-nav[data-v-34631564]{position:absolute;top:76px;right:0;z-index:1;width:440px;box-sizing:border-box;padding:0 36px;display:flex;flex-direction:column;gap:4px;pointer-events:none}.is-open .menu-nav[data-v-34631564]{pointer-events:auto}.menu-link[data-v-34631564]{display:flex;align-items:baseline;gap:18px;padding:10px 0;border-bottom:1px solid rgba(11,26,19,.18);color:var(--ink);opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}.menu-link[data-v-34631564]:hover{color:var(--ink)}.is-open .menu-link[data-v-34631564]{opacity:1;transform:translateY(0)}.menu-link-n[data-v-34631564]{font-family:var(--font-mono);font-size:13px;font-weight:500}.menu-link-label[data-v-34631564]{font-family:var(--font-display);font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1.1}.menu-foot[data-v-34631564]{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-bottom:32px;color:var(--ink);font-size:14px;opacity:0;transition:opacity .35s ease}.is-open .menu-foot[data-v-34631564]{opacity:1}.menu-foot a[data-v-34631564]{color:var(--ink);font-weight:600;text-decoration:underline}.menu-status[data-v-34631564]{display:flex;align-items:center;gap:8px}.dot--ink[data-v-34631564]{background:var(--ink)}@media(max-width:640px){.header[data-v-34631564]{padding:16px 20px}.is-open .menu-bg[data-v-34631564]{width:min(440px,calc(100vw - 40px));height:450px}.menu-nav[data-v-34631564]{top:66px;width:min(440px,calc(100vw - 40px));padding:0 24px}.menu-link-label[data-v-34631564]{font-size:32px}.menu-foot[data-v-34631564]{flex-wrap:wrap;gap:8px 16px}}.hero[data-v-58625305]{max-width:1344px;margin:0 auto;box-sizing:border-box;padding:56px 48px 0;display:flex;flex-direction:column;gap:56px}.hero-top[data-v-58625305]{display:flex;justify-content:space-between;align-items:center;gap:16px}.badge[data-v-58625305]{display:flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--text-soft)}.dispo[data-v-58625305]{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:var(--text);transition:color .25s ease}.dispo[data-v-58625305]:hover{color:var(--accent)}.dispo-dot[data-v-58625305]{position:relative;display:block;width:10px;height:10px;flex-shrink:0}.dispo-dot span[data-v-58625305]{position:absolute;inset:0;display:block;border-radius:50%;background:var(--accent)}.pulse[data-v-58625305]{animation:pulse-58625305 1.8s ease-out infinite}@keyframes pulse-58625305{0%{transform:scale(1);opacity:.7}to{transform:scale(2.8);opacity:0}}.hero-title[data-v-58625305]{margin:0;display:flex;flex-direction:column;font-family:var(--font-display);font-size:152px;font-weight:600;line-height:.92;letter-spacing:-.055em}.hero-line[data-v-58625305]{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.hero-line--accent[data-v-58625305]{align-self:flex-end;color:var(--accent)}.hero-aside[data-v-58625305]{padding-bottom:20px;font-family:var(--font-mono);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.6;color:var(--text-faint);text-align:right}.about[data-v-58625305]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;margin-top:40px;padding-top:32px}.about-text[data-v-58625305]{grid-column:span 5;display:flex;flex-direction:column;gap:16px}.about-eyebrow[data-v-58625305]{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--accent)}.about-eyebrow--muted[data-v-58625305]{color:var(--text-faint)}.about-lead[data-v-58625305]{margin:0;font-size:20px;line-height:1.6;color:var(--text-soft)}.parcours[data-v-58625305]{grid-column:7 / span 3;display:flex;flex-direction:column;gap:16px}.timeline[data-v-58625305]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.timeline-item[data-v-58625305]{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px}.timeline-item[data-v-58625305]:not(:last-child){padding-bottom:18px}.timeline-mark[data-v-58625305]{display:flex;flex-direction:column;align-items:center;padding-top:6px}.timeline-item:not(:last-child) .timeline-mark[data-v-58625305]:after{content:"";display:block;flex-grow:1;width:1px;min-height:34px;margin-top:6px;background:var(--line)}.timeline-dot[data-v-58625305]{display:block;width:9px;height:9px;box-sizing:border-box;border-radius:50%;border:1.5px solid #6E6E77}.timeline-dot.is-current[data-v-58625305]{border:none;background:var(--accent)}.timeline-text[data-v-58625305]{display:flex;flex-direction:column;gap:4px}.timeline-title[data-v-58625305]{font-size:16px;font-weight:500}.timeline-dates[data-v-58625305]{font-size:14px;color:var(--text-faint)}.about-more[data-v-58625305]{grid-column:10 / span 3;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.see-all[data-v-58625305]{display:flex;align-items:center;gap:0;padding-bottom:2px;border-bottom:1px solid var(--text);font-size:18px;font-weight:500;color:var(--text);transition:color .25s ease,border-color .25s ease,gap .3s ease}.see-arrow[data-v-58625305]{display:inline-block;width:0;opacity:0;overflow:hidden;transform:translate(-10px);transition:width .3s ease,opacity .25s ease,transform .3s ease}.see-all[data-v-58625305]:hover,.see-all[data-v-58625305]:focus-visible{color:var(--accent);border-color:var(--accent);gap:10px}.see-all:hover .see-arrow[data-v-58625305],.see-all:focus-visible .see-arrow[data-v-58625305]{width:18px;opacity:1;transform:translate(0)}.hero-bottom[data-v-58625305]{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0 28px;border-top:1px solid var(--line);font-size:13px;color:var(--text-faint)}.scroll-hint[data-v-58625305]{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);transition:color .25s ease}.scroll-hint[data-v-58625305]:hover{color:var(--accent)}.scroll-arrow[data-v-58625305]{display:inline-block;animation:bob-58625305 1.6s ease-in-out infinite}@keyframes bob-58625305{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.stack[data-v-58625305]{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.place[data-v-58625305]{display:flex;align-items:center;gap:8px}.place-time[data-v-58625305]{color:var(--text);font-variant-numeric:tabular-nums}@media(max-width:1024px){.hero[data-v-58625305]{padding:48px 32px 0;gap:48px}.hero-title[data-v-58625305]{font-size:clamp(56px,13vw,152px)}.about[data-v-58625305]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 32px;margin-top:16px}.about-text[data-v-58625305]{grid-column:1 / -1}.parcours[data-v-58625305]{grid-column:1}.about-more[data-v-58625305]{grid-column:2}.stack[data-v-58625305]{display:none}}@media(max-width:640px){.hero[data-v-58625305]{padding:32px 20px 0;gap:36px}.hero-top[data-v-58625305]{flex-wrap:wrap}.hero-line[data-v-58625305]{flex-direction:column-reverse;align-items:flex-start;gap:12px}.hero-aside[data-v-58625305]{padding-bottom:0;text-align:left}.hero-aside br[data-v-58625305]{display:none}.hero-line--accent[data-v-58625305]{align-self:flex-start}.about[data-v-58625305]{grid-template-columns:minmax(0,1fr);margin-top:0;padding-top:0}.about-text[data-v-58625305],.parcours[data-v-58625305],.about-more[data-v-58625305]{grid-column:1}.about-more[data-v-58625305]{align-items:flex-start}.about-lead[data-v-58625305]{font-size:18px}}@media(prefers-reduced-motion:reduce){.pulse[data-v-58625305],.scroll-arrow[data-v-58625305]{animation:none}}.projects[data-v-3e233064]{max-width:1344px;margin:0 auto;box-sizing:border-box;padding:40px 48px 128px}.projects-head[data-v-3e233064]{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:40px;border-bottom:1px solid var(--line)}.projects-head-left[data-v-3e233064]{display:flex;flex-direction:column;gap:12px}.projects-head-right[data-v-3e233064]{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.projects-title[data-v-3e233064]{margin:0;font-family:var(--font-display);font-size:96px;font-weight:600;letter-spacing:-.045em;line-height:.95}.projects-intro[data-v-3e233064]{margin:0;max-width:340px;text-align:right;font-size:16px;line-height:1.5;color:var(--text-dim)}.see-all[data-v-3e233064]{display:flex;align-items:center;gap:0;padding-bottom:2px;border-bottom:1px solid var(--text);font-size:18px;font-weight:500;color:var(--text);transition:color .25s ease,border-color .25s ease,gap .3s ease}.see-arrow[data-v-3e233064]{display:inline-block;width:0;opacity:0;overflow:hidden;transform:translate(-10px);transition:width .3s ease,opacity .25s ease,transform .3s ease}.see-all[data-v-3e233064]:hover,.see-all[data-v-3e233064]:focus-visible{color:var(--accent);border-color:var(--accent);gap:10px}.see-all:hover .see-arrow[data-v-3e233064],.see-all:focus-visible .see-arrow[data-v-3e233064]{width:18px;opacity:1;transform:translate(0)}.projects-body[data-v-3e233064]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;padding-top:40px;align-items:start}.projects-status[data-v-3e233064]{margin:0;padding:56px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;font-size:16px;color:var(--text-muted)}.retry[data-v-3e233064]{height:40px;padding:0 18px;border:1px solid #4A4A52;border-radius:20px;background:transparent;color:var(--text);font-size:14px;cursor:pointer;transition:border-color .2s ease}.retry[data-v-3e233064]:hover,.retry[data-v-3e233064]:focus-visible{border-color:var(--text)}.project-list[data-v-3e233064]{grid-column:span 5;display:flex;flex-direction:column;gap:8px}.proj-row[data-v-3e233064]{width:100%;display:flex;align-items:center;gap:20px;padding:24px 20px;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .25s ease,border-color .25s ease}.proj-row[data-v-3e233064]:hover,.proj-row.is-active[data-v-3e233064]{background:var(--surface)}.proj-row.is-active[data-v-3e233064]{border-color:#3a3a41}.proj-n[data-v-3e233064]{width:28px;font-family:var(--font-mono);font-size:14px;color:var(--text-faint)}.is-active .proj-n[data-v-3e233064]{color:var(--accent)}.proj-text[data-v-3e233064]{flex-grow:1;display:flex;flex-direction:column;gap:6px}.proj-title[data-v-3e233064]{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em}.proj-meta[data-v-3e233064]{font-size:14px;color:var(--text-muted)}.proj-arrow[data-v-3e233064]{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #4A4A52;background:transparent;color:var(--text);font-size:18px;transition:all .25s ease}.is-active .proj-arrow[data-v-3e233064]{background:var(--accent);border-color:var(--accent);color:var(--ink)}.project-hint[data-v-3e233064]{margin:16px 0 0;padding:0 20px;font-size:14px;color:var(--text-faint)}.preview[data-v-3e233064]{grid-column:span 7;padding:20px;display:flex;flex-direction:column;gap:24px}.preview-panel[data-v-3e233064]{height:380px;box-sizing:border-box;overflow:hidden;border-radius:18px;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.preview-panel--accent[data-v-3e233064]{background:var(--accent)}.preview-panel--light[data-v-3e233064]{background:#e6e6e3}.preview-panel--dark[data-v-3e233064]{background:var(--dark);border:1px solid var(--accent)}.preview-img[data-v-3e233064]{display:block;width:100%;height:100%;object-fit:cover}.preview-info[data-v-3e233064]{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:0 12px 12px}.preview-text[data-v-3e233064]{display:flex;flex-direction:column;gap:12px;max-width:520px}.preview-title[data-v-3e233064]{margin:0;font-family:var(--font-display);font-size:36px;font-weight:600;letter-spacing:-.03em}.preview-desc[data-v-3e233064]{margin:0;font-size:16px;line-height:1.6;color:var(--text-dim)}.tags[data-v-3e233064]{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.tag[data-v-3e233064]{padding:6px 14px;border:1px solid #44444C;border-radius:999px;font-size:13px;color:var(--text-soft)}.preview-cta[data-v-3e233064]{flex-shrink:0;display:flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:24px;background:var(--text);color:var(--dark);font-weight:600;font-size:15px}.preview-cta[data-v-3e233064]:hover{color:var(--dark)}@media(max-width:1024px){.projects[data-v-3e233064]{padding:24px 32px 96px}.projects-head[data-v-3e233064]{flex-direction:column;align-items:flex-start;gap:24px}.projects-head-right[data-v-3e233064]{align-items:flex-start}.projects-intro[data-v-3e233064]{text-align:left}.projects-title[data-v-3e233064]{font-size:clamp(56px,12vw,96px)}.projects-body[data-v-3e233064]{grid-template-columns:minmax(0,1fr);row-gap:24px}.project-list[data-v-3e233064],.preview[data-v-3e233064]{grid-column:1 / -1}.project-hint[data-v-3e233064]{display:none}}@media(max-width:640px){.projects[data-v-3e233064]{padding:16px 20px 72px}.projects-head[data-v-3e233064]{padding-bottom:28px}.projects-body[data-v-3e233064]{padding-top:24px}.proj-row[data-v-3e233064]{gap:14px;padding:18px 14px;border-radius:16px}.proj-n[data-v-3e233064]{width:22px;font-size:13px}.proj-title[data-v-3e233064]{font-size:21px}.proj-meta[data-v-3e233064]{font-size:13px}.proj-arrow[data-v-3e233064]{width:38px;height:38px;font-size:16px}.preview[data-v-3e233064]{padding:12px;gap:20px;border-radius:22px}.preview-panel[data-v-3e233064]{height:auto;aspect-ratio:640 / 340;border-radius:14px}.preview-info[data-v-3e233064]{flex-direction:column;align-items:flex-start;gap:20px;padding:0 8px 8px}.preview-title[data-v-3e233064]{font-size:28px}.preview-desc[data-v-3e233064]{font-size:15px}}@keyframes marquee-e51d8c85{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee[data-v-e51d8c85]{overflow:hidden;padding:20px 0;background:var(--text);color:var(--dark)}.marquee-track[data-v-e51d8c85]{display:flex;width:max-content;gap:40px;font-family:var(--font-display);font-size:84px;font-weight:600;letter-spacing:-.03em;line-height:1;white-space:nowrap;animation:marquee-e51d8c85 28s linear infinite}.marquee-dot[data-v-e51d8c85]{color:var(--accent)}@media(prefers-reduced-motion:reduce){.marquee-track[data-v-e51d8c85]{animation:none}}.skills[data-v-e51d8c85]{max-width:1344px;margin:0 auto;box-sizing:border-box;padding:88px 48px 128px}.skills-head[data-v-e51d8c85]{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:32px}.skills-head-left[data-v-e51d8c85]{display:flex;flex-direction:column;gap:12px}.skills-title[data-v-e51d8c85]{margin:0;max-width:720px;font-family:var(--font-display);font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1.15}.skills-count[data-v-e51d8c85]{font-size:14px;color:var(--text-faint)}.skills-table[data-v-e51d8c85]{display:flex;flex-direction:column;padding-top:1px}.skill-row[data-v-e51d8c85]{position:relative;display:grid;grid-template-columns:64px 360px minmax(0,1fr) 260px;column-gap:24px;align-items:center;margin-top:-1px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:border-color .25s ease}.skill-row[data-v-e51d8c85]:hover{z-index:1;border-color:var(--accent)}.skill-num[data-v-e51d8c85]{font-family:var(--font-mono);font-size:13px;color:var(--text-faint);transition:color .25s ease}.skill-row:hover .skill-num[data-v-e51d8c85]{color:var(--accent)}.skill-name-cell[data-v-e51d8c85]{display:flex;flex-direction:column;gap:6px}.skill-name[data-v-e51d8c85]{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.02em}.skill-desc[data-v-e51d8c85]{font-size:14px;line-height:1.5;color:var(--text-muted)}.chips[data-v-e51d8c85]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-e51d8c85]{padding:8px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px;font-weight:500}.seen[data-v-e51d8c85]{display:flex;flex-direction:column;gap:4px}.seen-label[data-v-e51d8c85]{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.dot--sm[data-v-e51d8c85]{width:6px;height:6px}.seen-link[data-v-e51d8c85]{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;width:fit-content;border-bottom:1px solid transparent;font-size:15px;font-weight:500;color:var(--text);transition:color .25s ease,border-color .25s ease}.seen-arrow[data-v-e51d8c85]{display:inline-block;transition:transform .25s ease}.seen-link[data-v-e51d8c85]:hover,.seen-link[data-v-e51d8c85]:focus-visible{color:var(--accent);border-color:var(--accent)}.seen-link:hover .seen-arrow[data-v-e51d8c85]{transform:translate(3px,-3px)}@media(max-width:1024px){.marquee-track[data-v-e51d8c85]{font-size:clamp(48px,9vw,84px)}.skills[data-v-e51d8c85]{padding:72px 32px 96px}.skills-head[data-v-e51d8c85]{flex-direction:column;align-items:flex-start;gap:16px}.skills-title[data-v-e51d8c85]{font-size:clamp(28px,4.5vw,40px)}.skill-row[data-v-e51d8c85]{grid-template-columns:48px minmax(0,1fr);row-gap:16px}.skill-num[data-v-e51d8c85]{align-self:start;padding-top:8px}.skill-name-cell[data-v-e51d8c85],.chips[data-v-e51d8c85],.seen[data-v-e51d8c85]{grid-column:2}}@media(max-width:640px){.marquee[data-v-e51d8c85]{padding:14px 0}.skills[data-v-e51d8c85]{padding:56px 20px 72px}.skill-row[data-v-e51d8c85]{grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding:22px 0}.skill-name[data-v-e51d8c85]{font-size:22px}.chip[data-v-e51d8c85]{padding:6px 12px;font-size:13px}}.contact[data-v-3025712a]{max-width:1392px;margin:0 auto;box-sizing:border-box;padding:40px 32px 112px}.contact-grid[data-v-3025712a]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:40px;align-items:stretch}.contact-main[data-v-3025712a]{grid-column:span 6;display:flex;flex-direction:column;gap:32px}.contact-title[data-v-3025712a]{margin:0;font-family:var(--font-display);font-size:128px;font-weight:600;letter-spacing:-.05em;line-height:.9}.contact-lead[data-v-3025712a]{margin:0;max-width:520px;font-size:24px;line-height:1.45;color:var(--text-soft)}.contact-facts[data-v-3025712a]{margin:0;display:flex;flex-direction:column;padding:8px 24px;background:var(--surface);border:1px solid var(--border);border-radius:20px}.contact-fact[data-v-3025712a]{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.contact-fact[data-v-3025712a]:last-child{border-bottom:none}.contact-fact dt[data-v-3025712a]{font-size:14px;color:var(--text-faint)}.contact-fact dd[data-v-3025712a]{margin:0;font-size:16px;font-weight:500}.contact-mail[data-v-3025712a]{display:flex;align-items:center;gap:20px}.contact-mail-text[data-v-3025712a]{font-size:14px;color:var(--text-muted)}.contact-form[data-v-3025712a]{grid-column:span 6;margin:0;padding:36px;display:flex;flex-direction:column;gap:22px}.form-title[data-v-3025712a]{margin:0;font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em}.subjects[data-v-3025712a]{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:12px}.subjects legend[data-v-3025712a]{padding:0;margin-bottom:12px;font-size:14px;color:var(--text-muted)}.subject-list[data-v-3025712a]{display:flex;gap:8px}.subject[data-v-3025712a]{height:44px;padding:0 20px;border-radius:22px;border:1px solid #4A4A52;background:transparent;color:var(--text);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.subject.is-active[data-v-3025712a]{background:var(--text);border-color:var(--text);color:var(--dark)}.field-row[data-v-3025712a]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field[data-v-3025712a]{display:flex;flex-direction:column;gap:8px}.field label[data-v-3025712a]{font-size:14px;color:var(--text-muted)}.input[data-v-3025712a]{height:50px;box-sizing:border-box;padding:0 16px;border-radius:14px;border:1px solid #3A3A41;background:var(--bg);color:var(--text);font-size:15px}.textarea[data-v-3025712a]{height:auto;min-height:140px;padding:14px 16px;resize:vertical}.form-foot[data-v-3025712a]{display:flex;justify-content:space-between;align-items:center;gap:16px}.form-note[data-v-3025712a]{font-size:13px;color:var(--text-faint)}.form-note.is-error[data-v-3025712a]{color:#f87171}.field-error[data-v-3025712a]{font-size:13px;color:#f87171}.input[aria-invalid=true][data-v-3025712a]{border-color:#f87171}.honeypot[data-v-3025712a]{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.send[data-v-3025712a]{height:52px;padding:0 28px;border:none;border-radius:26px;background:var(--accent);color:var(--ink);font-size:16px;font-weight:600;cursor:pointer}.send.is-sent[data-v-3025712a]{background:var(--text)}.send[data-v-3025712a]:disabled{opacity:.6;cursor:progress}.links[data-v-3025712a]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;padding-top:72px}.link-row[data-v-3025712a]{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 0;border-top:1px solid var(--text);color:var(--text);transition:border-color .25s ease}.link-row[data-v-3025712a]:hover,.link-row[data-v-3025712a]:focus-visible{border-top-color:var(--accent)}.link-text[data-v-3025712a]{display:flex;flex-direction:column;gap:6px}.link-label[data-v-3025712a]{font-family:var(--font-display);font-size:28px;font-weight:500;transition:color .25s ease}.link-row:hover .link-label[data-v-3025712a],.link-row:focus-visible .link-label[data-v-3025712a]{color:var(--accent)}.link-desc[data-v-3025712a]{font-size:14px;color:var(--text-muted)}.link-arrow[data-v-3025712a]{color:var(--accent);font-size:22px;transition:transform .25s ease}.link-row:hover .link-arrow[data-v-3025712a]{transform:translate(4px,-4px)}@media(max-width:1024px){.contact[data-v-3025712a]{padding:24px 32px 96px}.contact-grid[data-v-3025712a]{grid-template-columns:minmax(0,1fr);row-gap:48px}.contact-main[data-v-3025712a],.contact-form[data-v-3025712a]{grid-column:1 / -1}.contact-title[data-v-3025712a]{font-size:clamp(64px,15vw,128px)}.links[data-v-3025712a]{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:56px}}@media(max-width:640px){.contact[data-v-3025712a]{padding:16px 20px 72px}.contact-main[data-v-3025712a]{gap:24px}.contact-lead[data-v-3025712a]{font-size:19px}.contact-facts[data-v-3025712a]{padding:4px 18px}.contact-fact[data-v-3025712a]{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:14px 0}.contact-fact dd[data-v-3025712a]{font-size:15px}.contact-mail[data-v-3025712a]{flex-direction:column;align-items:flex-start;gap:12px}.contact-mail-text[data-v-3025712a]{overflow-wrap:anywhere}.contact-form[data-v-3025712a]{padding:22px;border-radius:22px}.form-title[data-v-3025712a]{font-size:24px}.subject-list[data-v-3025712a]{flex-wrap:wrap}.field-row[data-v-3025712a]{grid-template-columns:minmax(0,1fr)}.form-foot[data-v-3025712a]{flex-wrap:wrap;gap:16px}.links[data-v-3025712a]{grid-template-columns:minmax(0,1fr);column-gap:0;padding-top:40px}.link-row[data-v-3025712a]{padding:18px 0}.link-label[data-v-3025712a]{font-size:24px}}.footer[data-v-5d1d19cc]{box-sizing:border-box;padding:0 32px 24px}.footer-bar[data-v-5d1d19cc]{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--line);font-size:13px;color:var(--text-faint)}.back-top[data-v-5d1d19cc]{color:var(--text);font-weight:500}.footer-nav[data-v-5d1d19cc]{display:flex;flex-wrap:wrap;gap:8px 24px;padding:20px 0;border-top:1px solid var(--line);font-size:14px}.footer-nav a[data-v-5d1d19cc]{color:var(--text-muted)}.footer-nav a[data-v-5d1d19cc]:hover,.footer-nav a.router-link-exact-active[data-v-5d1d19cc]{color:var(--text)}.footer-mark[data-v-5d1d19cc]{display:flex;justify-content:space-between;align-items:flex-end;padding-top:24px;font-family:var(--font-display);font-weight:700;font-size:clamp(56px,14.5vw,208px);letter-spacing:-.06em;line-height:.8}.accent[data-v-5d1d19cc]{color:var(--accent)}@media(max-width:640px){.footer[data-v-5d1d19cc]{padding:0 20px 20px}.footer-bar[data-v-5d1d19cc]{flex-direction:column;align-items:flex-start;gap:10px}.footer-mark[data-v-5d1d19cc]{padding-top:16px}}.page[data-v-4a079c5a]{position:relative;width:100%;overflow-x:clip;background:var(--bg);color:var(--text)}:root{--accent: #16B27A;--bg: #1C1C1F;--surface: #242428;--surface-2: #2C2C32;--border: #323238;--line: #34343A;--text: #F4F4F2;--text-soft: #D6D6DA;--text-dim: #BDBDC4;--text-muted: #A3A3AB;--text-faint: #8A8A93;--ink: #0B1A13;--dark: #17171A;--font-body: "DM Sans", system-ui, sans-serif;--font-display: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-menu: cubic-bezier(.76, 0, .24, 1)}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--text);text-decoration:none}a:hover{color:#fff}button,input,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:#7c7c85}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}[id]{scroll-margin-top:90px}.fill-accent{fill:var(--accent)}.stroke-accent{stroke:var(--accent)}.eyebrow{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--accent)}.btn{display:flex;align-items:center;gap:10px;height:52px;padding:0 26px;border-radius:26px;font-size:16px}.btn--accent{background:var(--accent);color:var(--ink);font-weight:600}.btn--accent:hover{color:var(--ink)}.btn--ghost{border:1px solid #4A4A52;color:var(--text);font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:28px}
