.hero[data-v-cc1ad441]{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:7rem 0 4rem;position:relative}[data-depth][data-v-cc1ad441]{transform:translate3d(var(--tx,0),var(--ty,0),0) rotateX(var(--rx,0)) rotateY(var(--ry,0));transform-style:preserve-3d;transition:transform .5s var(--ease-out)}.hero-ghost[data-v-cc1ad441]{left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;translate:-50% -50%;width:120%;z-index:0}.hero-ghost span[data-v-cc1ad441]{color:transparent;font-family:Bricolage Grotesque,sans-serif;font-size:26vw;font-weight:800;letter-spacing:-.05em;line-height:1;-webkit-text-stroke:1px color-mix(in oklab,var(--ink) 8%,transparent);white-space:nowrap}.hero-block[data-v-cc1ad441]{background:var(--pop);height:clamp(90px,12vw,190px);mix-blend-mode:multiply;opacity:.9;position:absolute;right:8%;top:22%;width:clamp(90px,12vw,190px);z-index:0}.dark .hero-block[data-v-cc1ad441]{mix-blend-mode:screen;opacity:.85}.hero-grid[data-v-cc1ad441]{align-items:start;display:grid;gap:clamp(1rem,3vw,3rem) clamp(1.5rem,4vw,4rem);grid-template-areas:"rail headline aside" "rail intro   aside";grid-template-columns:auto 1fr auto}.hero-rail[data-v-cc1ad441]{align-items:center;display:flex;flex-direction:column;gap:1.2rem;grid-area:rail;padding-top:.5rem}.hero-index[data-v-cc1ad441]{color:var(--pop);font-family:Bricolage Grotesque,sans-serif;font-size:1.1rem;font-weight:800}.hero-rail-label[data-v-cc1ad441]{color:var(--ink-soft);font-size:.72rem;font-weight:700;letter-spacing:.28em;text-orientation:mixed;text-transform:uppercase;writing-mode:vertical-rl}.hero-headline[data-v-cc1ad441]{grid-area:headline;transform-style:preserve-3d}.hero-eyebrow[data-v-cc1ad441]{margin-bottom:1.4rem}.hero-name[data-v-cc1ad441]{color:var(--ink);font-family:Bricolage Grotesque,sans-serif;font-size:clamp(3.5rem,11.5vw,11rem);font-weight:800;letter-spacing:-.05em;line-height:.8;margin:0}.hero-name-outline>span[data-v-cc1ad441]{color:transparent;-webkit-text-stroke:1.5px var(--ink)}.hero-role[data-v-cc1ad441]{align-items:baseline;color:var(--ink);display:flex;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(1.15rem,2.4vw,1.9rem);font-weight:600;gap:.6rem;margin-top:1.1rem}.hero-role-slash[data-v-cc1ad441]{color:var(--pop);font-weight:800}.hero-caret[data-v-cc1ad441]{animation:caretBlink-cc1ad441 1s steps(2) infinite;color:var(--pop)}.hero-aside[data-v-cc1ad441]{align-items:flex-end;display:flex;flex-direction:column;gap:1.2rem;grid-area:aside;transform-style:preserve-3d}.portrait[data-v-cc1ad441]{aspect-ratio:3/4;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden;position:relative;width:clamp(150px,15vw,230px)}.portrait-img[data-v-cc1ad441]{filter:grayscale(1) contrast(1.05);height:100%;-o-object-fit:cover;object-fit:cover;transition:filter .5s var(--ease-out),transform .6s var(--ease-out);width:100%}.portrait:hover .portrait-img[data-v-cc1ad441]{filter:grayscale(0) contrast(1);transform:scale(1.04)}.portrait-tag[data-v-cc1ad441]{background:var(--pop);bottom:0;color:var(--pop-ink);font-size:.66rem;font-weight:700;left:0;letter-spacing:.1em;padding:.25rem .55rem;position:absolute}.hero-status[data-v-cc1ad441]{align-items:center;color:var(--ink-soft);display:inline-flex;font-size:.76rem;font-weight:600;gap:.5rem;text-align:right}.hero-status-dot[data-v-cc1ad441]{animation:pulseDot-cc1ad441 2s ease-out infinite;background:#22c55e;border-radius:999px;box-shadow:0 0 color-mix(in oklab,#22c55e 70%,transparent);height:.5rem;width:.5rem}.hero-intro[data-v-cc1ad441]{grid-area:intro;margin-top:.5rem;max-width:40rem}.hero-lead[data-v-cc1ad441]{color:var(--ink-soft);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.6}.hero-lead em[data-v-cc1ad441]{color:var(--ink);font-size:1.15em}.hero-actions[data-v-cc1ad441]{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-socials[data-v-cc1ad441]{display:inline-flex;gap:.5rem;margin-left:.5rem}.social-icon[data-v-cc1ad441]{align-items:center;border:1px solid var(--line);color:var(--ink-soft);display:inline-flex;height:2.75rem;justify-content:center;transition:all .3s var(--ease-out);width:2.75rem}.social-icon[data-v-cc1ad441]:hover{background:var(--pop);border-color:var(--pop);color:var(--pop-ink);transform:translateY(-2px)}.hero-scroll[data-v-cc1ad441]{align-items:center;bottom:2rem;color:var(--ink-soft);display:flex;flex-direction:column;font-size:.66rem;font-weight:700;gap:.6rem;left:50%;letter-spacing:.28em;position:absolute;text-transform:uppercase;translate:-50% 0;z-index:2}.hero-scroll-line[data-v-cc1ad441]{animation:scrollLine-cc1ad441 2s ease-in-out infinite;background:linear-gradient(to bottom,var(--pop),transparent);height:3rem;transform-origin:top;width:1px}@keyframes caretBlink-cc1ad441{0%,to{opacity:1}50%{opacity:0}}@keyframes pulseDot-cc1ad441{0%{box-shadow:0 0 color-mix(in oklab,#22c55e 70%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes scrollLine-cc1ad441{0%,to{opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}@media(max-width:1024px){.hero-grid[data-v-cc1ad441]{gap:2rem;grid-template-areas:"rail" "headline" "aside" "intro";grid-template-columns:1fr}.hero-rail[data-v-cc1ad441]{align-items:center;flex-direction:row;gap:1rem;padding-top:0}.hero-rail-label[data-v-cc1ad441]{writing-mode:horizontal-tb}.hero-aside[data-v-cc1ad441]{align-items:flex-start}.hero-block[data-v-cc1ad441]{display:none}}@media(prefers-reduced-motion:reduce){.hero-caret[data-v-cc1ad441],.hero-scroll-line[data-v-cc1ad441],.hero-status-dot[data-v-cc1ad441]{animation:none}[data-depth][data-v-cc1ad441]{transform:none!important}}.skill-badge[data-v-a1d91f95]{align-items:center;display:flex}.skill-badge[data-v-a1d91f95]>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.skill-badge[data-v-a1d91f95]{background:color-mix(in oklab,var(--panel-soft) 72%,transparent);border-color:var(--line);border-radius:.75rem;border-width:1px;color:var(--ink-soft);font-size:.875rem;line-height:1.25rem;padding:.75rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.skill-badge[data-v-a1d91f95]:hover{border-color:color-mix(in oklab,var(--brand) 40%,var(--line));color:var(--ink)}.focus-panel[data-v-9f5f7a02]{background:color-mix(in oklab,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}.focus-num[data-v-9f5f7a02]{color:var(--pop);font-weight:800;margin-right:.3rem}.focus-head[data-v-9f5f7a02]{align-items:baseline;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;margin-bottom:.85rem}.focus-kicker[data-v-9f5f7a02]{color:var(--ink-soft);font-size:.72rem;letter-spacing:.22em;margin:0;text-transform:uppercase}.focus-title[data-v-9f5f7a02]{color:var(--ink);font-size:clamp(1rem,1.8vw,1.28rem);margin:0}.focus-lanes[data-v-9f5f7a02]{display:grid;gap:.6rem}.focus-lane[data-v-9f5f7a02]{background:color-mix(in oklab,var(--panel-soft) 42%,transparent);border:1px solid color-mix(in oklab,var(--line) 88%,transparent);border-radius:.95rem;display:grid;gap:.5rem;grid-template-columns:1fr;padding:.55rem;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease}.focus-lane[data-v-9f5f7a02]:hover{background:color-mix(in oklab,var(--panel-soft) 60%,transparent);border-color:color-mix(in oklab,var(--brand) 45%,var(--line));box-shadow:0 16px 28px -24px color-mix(in oklab,var(--brand) 50%,transparent);transform:translate3d(0,-2px,0)}@media(min-width:900px){.focus-lane[data-v-9f5f7a02]{align-items:center;grid-template-columns:220px 1fr}}.lane-label-wrap[data-v-9f5f7a02]{align-items:center;color:var(--brand-strong);display:inline-flex;gap:.45rem}.lane-label[data-v-9f5f7a02]{color:var(--ink);font-size:.86rem;margin:0}.lane-items[data-v-9f5f7a02]{display:flex;flex-wrap:wrap;gap:.42rem}.lane-pill[data-v-9f5f7a02]{align-items:center;background:color-mix(in oklab,var(--brand) 9%,transparent);border:1px solid color-mix(in oklab,var(--brand) 34%,var(--line));border-radius:999px;color:var(--brand-strong);display:inline-flex;font-size:.75rem;font-weight:600;padding:.32rem .6rem;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.lane-pill[data-v-9f5f7a02]:hover{background:color-mix(in oklab,var(--brand) 15%,transparent);border-color:color-mix(in oklab,var(--brand) 60%,var(--line));transform:translateY(-1px)}@media(max-width:640px){.focus-section[data-v-9f5f7a02]{padding-bottom:2.1rem;padding-top:2.1rem}.focus-panel[data-v-9f5f7a02]{border-radius:1rem;padding:.7rem}.focus-head[data-v-9f5f7a02]{gap:.4rem;margin-bottom:.6rem}.focus-kicker[data-v-9f5f7a02]{font-size:.64rem;letter-spacing:.16em}.focus-title[data-v-9f5f7a02]{font-size:.96rem}.focus-lanes[data-v-9f5f7a02]{gap:.48rem}.focus-lane[data-v-9f5f7a02]{border-radius:.82rem;gap:.35rem;padding:.45rem}.lane-label[data-v-9f5f7a02]{font-size:.78rem}.lane-items[data-v-9f5f7a02]{gap:.3rem}.lane-pill[data-v-9f5f7a02]{font-size:.68rem;padding:.25rem .5rem}}.skill-chat[data-v-d54898ed]{border-radius:1.45rem;margin:0 auto;max-width:860px;overflow:hidden;padding:1.1rem;position:relative}.chat-fun-bg[data-v-d54898ed]{background:radial-gradient(circle at 7% 8%,color-mix(in oklab,var(--accent) 17%,transparent),transparent 34%),radial-gradient(circle at 90% 88%,color-mix(in oklab,var(--brand) 18%,transparent),transparent 38%);inset:0;opacity:.85;pointer-events:none;position:absolute}.chat-head[data-v-d54898ed]{align-items:center;display:flex;gap:.8rem;justify-content:space-between;margin-bottom:.9rem;position:relative;z-index:1}.chat-head-left[data-v-d54898ed]{align-items:center;display:inline-flex;gap:.5rem}.chat-head p[data-v-d54898ed]{color:var(--ink-soft);font-size:.82rem;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.chat-avatar-wrap[data-v-d54898ed]{border:1px solid color-mix(in oklab,var(--brand) 45%,var(--line));border-radius:999px;box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 15%,transparent);height:2rem;position:relative;width:2rem}.chat-avatar[data-v-d54898ed]{border-radius:999px;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.chat-avatar-status[data-v-d54898ed]{background:#22c55e;border:2px solid var(--panel);border-radius:999px;bottom:-1px;height:.58rem;position:absolute;right:-1px;width:.58rem}.chat-dot[data-v-d54898ed]{background:var(--brand);border-radius:999px;box-shadow:0 0 0 6px color-mix(in oklab,var(--brand) 16%,transparent);height:.52rem;width:.52rem}.chat-log[data-v-d54898ed]{display:grid;gap:.7rem;margin-bottom:.9rem;max-height:clamp(280px,44vh,460px);overflow-x:hidden;overflow-y:auto;padding-right:.2rem;position:relative;z-index:1}.msg-row[data-v-d54898ed]{align-items:flex-end;display:flex;gap:.45rem}.msg-row-assistant[data-v-d54898ed],.msg-row-error[data-v-d54898ed]{justify-content:flex-start}.msg-row-user[data-v-d54898ed]{justify-content:flex-end}.msg-chip[data-v-d54898ed]{border-radius:999px;flex:0 0 auto;height:1.8rem;overflow:hidden;position:relative;width:1.8rem}.msg-chip-assistant[data-v-d54898ed]{border:1px solid color-mix(in oklab,var(--brand) 42%,var(--line));box-shadow:0 0 0 2px color-mix(in oklab,var(--brand) 15%,transparent)}.msg-chip-user[data-v-d54898ed]{align-items:center;background:color-mix(in oklab,var(--ink) 12%,var(--panel));border:1px solid var(--line);display:inline-flex;justify-content:center}.msg-chip-avatar[data-v-d54898ed]{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.msg-chip-dot[data-v-d54898ed]{background:#22c55e;border:2px solid var(--panel);border-radius:999px;bottom:-1px;height:.52rem;position:absolute;right:-1px;width:.52rem}.msg-chip-user-text[data-v-d54898ed]{color:var(--ink-soft);font-size:.62rem;font-weight:700;letter-spacing:.02em}.msg[data-v-d54898ed]{animation:msgIn-d54898ed .28s ease;border-radius:1rem;max-width:min(92%,640px);padding:.75rem .9rem}.msg p[data-v-d54898ed]{line-height:1.45;margin:0}.msg-assistant[data-v-d54898ed]{background:color-mix(in oklab,var(--panel-soft) 66%,transparent);border:1px solid color-mix(in oklab,var(--line) 84%,transparent);color:var(--ink)}.typing-msg[data-v-d54898ed]{align-items:center;display:inline-flex;gap:.3rem}.typing-dot[data-v-d54898ed]{animation:blink-d54898ed 1.2s ease-in-out infinite;background:var(--brand);border-radius:999px;height:.38rem;opacity:.45;width:.38rem}.typing-dot[data-v-d54898ed]:nth-child(2){animation-delay:.15s}.typing-dot[data-v-d54898ed]:nth-child(3){animation-delay:.3s}.msg-user[data-v-d54898ed]{background:linear-gradient(120deg,var(--brand),var(--brand-strong))}.msg-user[data-v-d54898ed],.msg-user .result-text[data-v-d54898ed],.msg-user p[data-v-d54898ed]{color:#fff}.msg-error[data-v-d54898ed]{background:color-mix(in oklab,#ef4444 10%,transparent);border:1px solid color-mix(in oklab,#ef4444 42%,var(--line));color:#b91c1c}.result-text[data-v-d54898ed]{color:var(--ink-soft);margin-top:.35rem}.project-links[data-v-d54898ed]{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.project-pill[data-v-d54898ed]{background:color-mix(in oklab,var(--brand) 9%,transparent);border:1px solid color-mix(in oklab,var(--brand) 45%,var(--line));border-radius:999px;color:var(--brand-strong);font-size:.74rem;font-weight:600;padding:.33rem .65rem;text-decoration:none}.chat-input[data-v-d54898ed]{display:grid;gap:.5rem;grid-template-columns:1fr auto;margin-bottom:.65rem;position:relative;z-index:1}.chat-input input[data-v-d54898ed]{background:color-mix(in oklab,var(--panel) 95%,transparent);border:1px solid var(--line);border-radius:.8rem;color:var(--ink);font-size:.92rem;padding:.68rem .85rem;width:100%}.chat-input input[data-v-d54898ed]:focus{border-color:color-mix(in oklab,var(--brand) 62%,var(--line));box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 20%,transparent);outline:none}.chat-input button[data-v-d54898ed]{background:linear-gradient(120deg,var(--brand),var(--brand-strong));border:none;border-radius:.8rem;color:#fff;font-weight:700;padding:0 1rem}.chat-input button[data-v-d54898ed]:disabled,.chat-input input[data-v-d54898ed]:disabled,.quick-pill[data-v-d54898ed]:disabled{cursor:not-allowed;opacity:.65}.quick-queries[data-v-d54898ed]{display:flex;flex-wrap:wrap;gap:.4rem;position:relative;z-index:1}.quick-pill[data-v-d54898ed]{background:color-mix(in oklab,var(--panel) 97%,transparent);border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:.74rem;padding:.28rem .62rem;transition:transform .18s ease,border-color .18s ease}.quick-pill[data-v-d54898ed]:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--line));color:var(--ink);transform:translateY(-1px)}@keyframes blink-d54898ed{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-1px)}}@keyframes msgIn-d54898ed{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.skill-chat[data-v-d54898ed]{padding:.8rem}.chat-input[data-v-d54898ed]{grid-template-columns:1fr}.chat-input button[data-v-d54898ed]{height:2.5rem}}.skills-expand[data-v-d54898ed]{align-items:center;background:color-mix(in oklab,var(--panel) 92%,transparent);border:1px solid var(--line);cursor:pointer;display:flex;gap:1rem;justify-content:space-between;margin:1.2rem auto 0;max-width:860px;padding:1.1rem 1.3rem;text-align:left;transition:transform .35s var(--ease-out),border-color .35s var(--ease-out),background .35s var(--ease-out);width:100%}.skills-expand[data-v-d54898ed]:hover{background:color-mix(in oklab,var(--pop) 6%,var(--panel));border-color:color-mix(in oklab,var(--pop) 55%,var(--line));transform:translateY(-3px)}.se-left[data-v-d54898ed]{gap:.9rem}.se-icon[data-v-d54898ed],.se-left[data-v-d54898ed]{align-items:center;display:inline-flex}.se-icon[data-v-d54898ed]{background:var(--pop);color:var(--pop-ink);flex:0 0 auto;height:2.75rem;justify-content:center;width:2.75rem}.se-text[data-v-d54898ed]{display:flex;flex-direction:column;gap:.15rem}.se-title[data-v-d54898ed]{color:var(--ink);font-family:Bricolage Grotesque,sans-serif;font-size:1.05rem;font-weight:700}.se-sub[data-v-d54898ed]{color:var(--ink-soft);font-size:.8rem}.se-cta[data-v-d54898ed]{align-items:center;display:inline-flex;flex:0 0 auto;gap:.6rem}.se-cta-label[data-v-d54898ed]{color:var(--pop);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.se-plus[data-v-d54898ed]{align-items:center;border:1px solid var(--line);color:var(--ink);display:inline-flex;height:2.4rem;justify-content:center;transition:transform .4s var(--ease-spring),background .3s,color .3s,border-color .3s;width:2.4rem}.skills-expand:hover .se-plus[data-v-d54898ed]{background:var(--pop);border-color:var(--pop);color:var(--pop-ink);transform:translate(3px,-3px)}.skills-fullscreen[data-v-d54898ed]{background:var(--bg);color:var(--ink);inset:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(4.5rem,10vh,7.5rem) 0 4rem;position:fixed;z-index:100}.skills-fullscreen[data-v-d54898ed]:before{background-image:linear-gradient(to right,color-mix(in oklab,var(--ink) 5%,transparent) 1px,transparent 1px);background-size:min(12.5vw,160px) 100%;content:"";inset:0;opacity:.6;pointer-events:none;position:fixed;z-index:0}.skfs-inner[data-v-d54898ed]{position:relative;z-index:1}.skfs-close[data-v-d54898ed]{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in oklab,var(--bg) 70%,transparent);border:1px solid var(--line);color:var(--ink);cursor:pointer;display:inline-flex;font-size:.7rem;font-weight:700;gap:.5rem;letter-spacing:.14em;padding:.6rem .9rem;position:fixed;right:clamp(1rem,4vw,3rem);text-transform:uppercase;top:1.3rem;transition:all .25s var(--ease-out);z-index:3}.skfs-close[data-v-d54898ed]:hover{background:var(--pop);border-color:var(--pop);color:var(--pop-ink)}.skfs-head[data-v-d54898ed]{margin-bottom:clamp(2.5rem,6vw,4.5rem);max-width:60rem}.skfs-title[data-v-d54898ed]{color:var(--ink);font-family:Bricolage Grotesque,sans-serif;font-size:clamp(2.6rem,7vw,5.5rem);font-weight:800;letter-spacing:-.03em;line-height:.9;margin:1rem 0 0}.skfs-title em[data-v-d54898ed]{color:var(--pop)}.skfs-sub[data-v-d54898ed]{color:var(--ink-soft);font-size:1.05rem;line-height:1.55;margin-top:1.2rem;max-width:40rem}.skfs-body[data-v-d54898ed]{display:flex;flex-direction:column;gap:clamp(2.2rem,4vw,3.4rem)}.skfs-group-title[data-v-d54898ed]{align-items:center;border-bottom:1px solid var(--line);color:var(--ink-soft);display:inline-flex;font-size:.72rem;font-weight:700;gap:.55rem;letter-spacing:.2em;margin-bottom:1.1rem;padding-bottom:.6rem;text-transform:uppercase;width:100%}.skfs-group-title svg[data-v-d54898ed]{color:var(--pop)}.skfs-grid[data-v-d54898ed]{display:grid;gap:0 clamp(1.5rem,4vw,3.5rem);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.skfs-skill[data-v-d54898ed]{align-items:center;border-bottom:1px solid color-mix(in oklab,var(--line) 65%,transparent);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0}.skfs-skill-name[data-v-d54898ed]{color:var(--ink);font-size:1rem;font-weight:600}.skfs-skill-meta[data-v-d54898ed]{align-items:center;display:inline-flex;flex:0 0 auto;gap:.9rem}.skfs-skill-prof[data-v-d54898ed]{color:var(--ink-soft);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.skfs-dots[data-v-d54898ed]{display:inline-flex;gap:5px}.skfs-dots i[data-v-d54898ed]{animation:dotPop-d54898ed .5s var(--ease-spring) both;background:color-mix(in oklab,var(--ink) 15%,transparent);border-radius:50%;height:7px;width:7px}.skfs-dots i.on[data-v-d54898ed]{background:var(--pop)}@keyframes dotPop-d54898ed{0%{transform:scale(0)}to{transform:scale(1)}}.skfs-tags[data-v-d54898ed]{display:flex;flex-wrap:wrap;gap:.6rem}.skfs-tag[data-v-d54898ed]{border:1px solid var(--line);color:var(--ink);font-size:.86rem;font-weight:600;padding:.5rem .95rem;transition:all .25s var(--ease-out)}.skfs-tag[data-v-d54898ed]:hover{border-color:var(--pop);color:var(--pop);transform:translateY(-2px)}.skfs-langs[data-v-d54898ed]{display:flex;flex-wrap:wrap;gap:2.4rem}.skfs-lang[data-v-d54898ed]{display:flex;flex-direction:column;gap:.2rem}.skfs-lang-name[data-v-d54898ed]{color:var(--ink);font-family:Bricolage Grotesque,sans-serif;font-size:1.3rem;font-weight:700}.skfs-lang-level[data-v-d54898ed]{color:var(--pop);font-size:.82rem;font-weight:600}.skfs-enter-active[data-v-d54898ed]{transition:opacity .4s var(--ease-out),transform .55s var(--ease-out)}.skfs-leave-active[data-v-d54898ed]{transition:opacity .3s var(--ease-out),transform .4s var(--ease-out)}.skfs-enter-from[data-v-d54898ed],.skfs-leave-to[data-v-d54898ed]{opacity:0;transform:translateY(3%)}@media(max-width:640px){.skills-expand[data-v-d54898ed]{align-items:flex-start;flex-direction:column;gap:.8rem}.se-cta[data-v-d54898ed]{align-self:flex-end}.skfs-close span[data-v-d54898ed]{display:none}}.contact-info-item[data-v-28cd2498]{align-items:center;display:flex}.contact-info-item[data-v-28cd2498]>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.contact-info-item[data-v-28cd2498]{background:color-mix(in oklab,var(--panel) 95%,transparent);border-color:var(--line);border-radius:1rem;border-width:1px;padding:1rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.contact-info-item[data-v-28cd2498]:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--line));transform:translateY(-2px)}.contact-icon[data-v-28cd2498]{align-items:center;border-radius:.75rem;display:flex;height:3rem;justify-content:center;width:3rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.contact-details[data-v-28cd2498]{flex:1 1 0%;min-width:0}.contact-title[data-v-28cd2498]{color:var(--ink);font-size:.875rem;font-weight:600;line-height:1.25rem;margin-bottom:.25rem}.contact-value[data-v-28cd2498],.contact-value-link[data-v-28cd2498]{color:var(--ink-soft)}.contact-value-link[data-v-28cd2498]{text-underline-offset:2px}.contact-value-link[data-v-28cd2498]:hover{text-decoration-line:underline}.contact-value-link[data-v-28cd2498]{transition-duration:.2s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.contact-value-link[data-v-28cd2498]:hover{color:var(--brand-strong)}.form-group[data-v-6097306c]>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.form-label[data-v-6097306c]{display:block;font-size:.875rem;font-weight:600;line-height:1.25rem}.form-input[data-v-6097306c],.form-label[data-v-6097306c]{color:var(--ink)}.form-input[data-v-6097306c]{background:color-mix(in oklab,var(--panel-soft) 72%,transparent);border-color:var(--line);border-radius:.75rem;border-width:1px;padding:.75rem 1rem;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.form-input[data-v-6097306c]::-moz-placeholder{color:color-mix(in oklab,var(--ink-soft) 80%,transparent)}.form-input[data-v-6097306c]::placeholder{color:color-mix(in oklab,var(--ink-soft) 80%,transparent)}.form-input[data-v-6097306c]:focus{border-color:color-mix(in oklab,var(--brand) 60%,var(--line));box-shadow:0 0 0 2px color-mix(in oklab,var(--brand) 22%,transparent);outline:none}.form-input.error[data-v-6097306c]{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(239,68,68,.2)}.error-message[data-v-6097306c]{color:rgb(239 68 68/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.25rem}.error-message[data-v-6097306c],.submit-btn[data-v-6097306c]{--tw-text-opacity:1}.submit-btn[data-v-6097306c]{align-items:center;background:linear-gradient(120deg,var(--brand),var(--brand-strong));border-radius:9999px;color:rgb(255 255 255/var(--tw-text-opacity,1));display:inline-flex;font-weight:600;justify-content:center;padding:.75rem 1.5rem;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.submit-btn[data-v-6097306c],.submit-btn[data-v-6097306c]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.submit-btn[data-v-6097306c]:hover{--tw-translate-y:-.125rem}.submit-btn[data-v-6097306c]:focus{outline:2px solid transparent;outline-offset:2px}.submit-btn[data-v-6097306c]:disabled{cursor:not-allowed;opacity:.5}.submit-btn.submitting[data-v-6097306c]{cursor:wait}.success-message[data-v-6097306c]{border-radius:.75rem;border-width:1px;--tw-text-opacity:1;background:#eaf8ee;border-color:#8ad3a0;color:rgb(21 128 61/var(--tw-text-opacity,1))}.error-message-general[data-v-6097306c],.success-message[data-v-6097306c]{align-items:center;display:flex;padding:1rem}.error-message-general[data-v-6097306c]{border-radius:.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.social-btn[data-v-6097306c]{align-items:center;background:color-mix(in oklab,var(--panel-soft) 72%,transparent);border-color:var(--line);border-radius:9999px;border-width:1px;color:var(--ink-soft);display:flex;height:2.75rem;justify-content:center;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2.75rem}.social-btn[data-v-6097306c]:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.social-btn[data-v-6097306c],.social-btn[data-v-6097306c]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.social-btn[data-v-6097306c]:hover{--tw-translate-y:-.125rem;background-color:var(--social-color)}
