.hero[data-v-8b376579]{display:flex;min-height:100svh;overflow:hidden;padding-top:90px;position:relative}.hero[data-v-8b376579],.hero-grid[data-v-8b376579]{align-items:center}.hero-grid[data-v-8b376579]{display:grid;gap:clamp(32px,5vw,72px);grid-template-columns:1.25fr .85fr;width:100%}.hero-eyebrow[data-v-8b376579]{margin-bottom:26px}.hero-kicker[data-v-8b376579]{color:var(--faint);font-family:var(--font-mono);font-size:13px;letter-spacing:.16em;margin-bottom:14px;text-transform:uppercase}.hero h1[data-v-8b376579]{font-family:var(--font-display);font-size:clamp(40px,6.6vw,96px);font-weight:500;letter-spacing:-.035em;line-height:.95;margin-bottom:28px}.hero h1 .line[data-v-8b376579]{display:block}.hero h1 .accent-word[data-v-8b376579]{color:var(--accent)}.hero-sub[data-v-8b376579]{color:var(--muted);font-size:clamp(18px,2.1vw,23px);line-height:1.5;margin-bottom:40px;max-width:52ch}.hero-sub strong[data-v-8b376579]{color:var(--fg);font-weight:500}.hero-cta[data-v-8b376579]{display:flex;flex-wrap:wrap;gap:14px}.hero-cta .arr[data-v-8b376579]{display:inline-flex}.hero-meta[data-v-8b376579]{display:grid;font-family:var(--font-mono);gap:24px clamp(20px,3vw,40px);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:clamp(40px,7vh,76px)}.hero-meta .k[data-v-8b376579]{color:var(--faint);font-size:11px;letter-spacing:.12em;margin-bottom:6px;text-transform:uppercase}.hero-meta .v[data-v-8b376579]{color:var(--fg);font-size:14px}.hero-meta .v.accent[data-v-8b376579]{color:var(--accent)}.portrait[data-v-8b376579]{aspect-ratio:4/5;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:0;margin-left:auto;max-width:420px;overflow:hidden;position:relative;width:100%}.portrait img[data-v-8b376579]{filter:grayscale(1) contrast(1.03);height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;transition:filter .7s ease,transform 1s cubic-bezier(.16,1,.3,1);width:100%}.portrait:hover img[data-v-8b376579]{filter:grayscale(.4) contrast(1.05);transform:scale(1.025)}.portrait[data-v-8b376579]:after{background:linear-gradient(180deg,transparent 52%,color-mix(in oklch,var(--bg),transparent 15%) 100%),radial-gradient(110% 80% at 80% 18%,color-mix(in oklch,var(--accent),transparent 88%),transparent 55%);content:"";inset:0;pointer-events:none;position:absolute}.portrait-tag[data-v-8b376579]{align-items:center;bottom:13px;color:#fff;display:inline-flex;font-family:var(--font-mono);font-size:12px;gap:9px;left:15px;letter-spacing:.05em;position:absolute;text-shadow:0 1px 8px rgba(0,0,0,.5);z-index:2}.portrait-tag .dot-static[data-v-8b376579]{background:var(--accent);border-radius:50%;flex-shrink:0;height:7px;width:7px}.portrait-spark[data-v-8b376579]{background:var(--accent);bottom:13px;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);height:15px;position:absolute;right:14px;width:15px;z-index:2}@media(max-width:900px){.hero-grid[data-v-8b376579]{grid-template-columns:1fr}.hero-right[data-v-8b376579]{order:-1}.portrait[data-v-8b376579]{margin:0;max-width:280px}}@media(max-width:560px){.hero-meta[data-v-8b376579]{gap:20px 24px;grid-template-columns:repeat(2,1fr)}}.intro[data-v-f404e3d5]{color:var(--muted);font-size:clamp(18px,2vw,22px);margin-bottom:clamp(32px,5vh,56px);margin-top:-20px;max-width:62ch}.exp-grid[data-v-f404e3d5]{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:2px;grid-template-columns:repeat(3,1fr);overflow:hidden}.exp-card[data-v-f404e3d5]{background:var(--bg);display:flex;flex-direction:column;gap:16px;padding:clamp(26px,3vw,40px);transition:background .35s ease}.exp-card[data-v-f404e3d5]:hover{background:var(--bg-2)}.exp-top[data-v-f404e3d5]{align-items:center;display:flex;gap:12px;justify-content:space-between}.exp-icon[data-v-f404e3d5]{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);display:grid;height:46px;place-items:center;width:46px}.exp-icon[data-v-f404e3d5],.exp-tag[data-v-f404e3d5]{color:var(--accent)}.exp-tag[data-v-f404e3d5]{border:1px solid color-mix(in oklch,var(--accent),transparent 60%);border-radius:3px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;padding:5px 10px;text-transform:uppercase}.exp-card h3[data-v-f404e3d5]{font-family:var(--font-display);font-size:clamp(21px,2.3vw,27px);font-weight:500;letter-spacing:-.02em;line-height:1.12}.pitch[data-v-f404e3d5]{color:var(--muted);font-size:15px;line-height:1.6}.bullets[data-v-f404e3d5]{display:flex;flex-direction:column;gap:10px;list-style:none;margin:4px 0 0;padding:0}.bullets li[data-v-f404e3d5]{color:var(--fg);font-size:14.5px;line-height:1.5;padding-left:20px;position:relative}.bullets li[data-v-f404e3d5]:before{background:var(--accent);content:"";height:6px;left:0;position:absolute;top:.55em;width:6px}.stack[data-v-f404e3d5]{border-top:1px solid var(--line-soft);margin-top:auto;padding-top:20px}.stack-label[data-v-f404e3d5]{color:var(--faint);display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.stack-tags[data-v-f404e3d5]{display:flex;flex-wrap:wrap;gap:6px}.tag[data-v-f404e3d5]{border:1px solid var(--line);border-radius:3px;color:var(--faint);font-family:var(--font-mono);font-size:11px;padding:4px 8px}.exp-cta[data-v-f404e3d5]{margin-top:clamp(32px,5vh,52px)}@media(max-width:1000px){.exp-grid[data-v-f404e3d5]{grid-template-columns:1fr}}.skills-grid[data-v-7c2f5817]{background:var(--line-soft);border:1px solid var(--line-soft);display:grid;gap:1px;grid-template-columns:repeat(3,1fr)}.skill-col[data-v-7c2f5817]{background:var(--bg);padding:clamp(22px,2.5vw,32px) clamp(18px,2vw,26px)}.skill-col h4[data-v-7c2f5817]{color:var(--accent);display:flex;font-family:var(--font-mono);font-size:12px;gap:10px;letter-spacing:.08em;margin-bottom:20px;text-transform:uppercase}.skill-col h4 .i[data-v-7c2f5817]{color:var(--faint)}.skill-col ul[data-v-7c2f5817]{display:flex;flex-direction:column;gap:11px;list-style:none;margin:0;padding:0}.skill-col li[data-v-7c2f5817]{align-items:center;color:var(--fg);display:flex;font-size:15px;gap:10px}.skill-col li[data-v-7c2f5817]:before{background:var(--accent);content:"";flex-shrink:0;height:5px;width:5px}@media(max-width:900px){.skills-grid[data-v-7c2f5817]{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.skills-grid[data-v-7c2f5817]{grid-template-columns:1fr}}.highlight[data-v-067d11d5]{border-left:2px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;margin:2px 0 4px;padding-left:10px}.section-intro[data-v-067d11d5]{color:var(--muted);font-size:clamp(18px,2vw,22px);margin-bottom:clamp(28px,4vh,44px);margin-top:-20px;max-width:62ch}.cv-bar[data-v-067d11d5]{background:color-mix(in oklch,var(--accent),transparent 94%);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:clamp(28px,4vh,44px);padding:18px 22px}.cv-bar[data-v-067d11d5],.cv-info[data-v-067d11d5]{align-items:center;display:flex}.cv-info[data-v-067d11d5]{gap:14px}.cv-icon[data-v-067d11d5]{color:var(--accent);flex-shrink:0}.cv-title[data-v-067d11d5]{color:var(--fg);font-family:var(--font-display);font-size:17px;font-weight:500}.cv-desc[data-v-067d11d5]{color:var(--muted);font-size:13px}.cv-bar .arr[data-v-067d11d5]{display:inline-block}.proj-grid[data-v-067d11d5]{border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:2px;grid-template-columns:repeat(3,1fr);overflow:hidden}.proj[data-v-067d11d5],.proj-grid[data-v-067d11d5]{background:var(--bg)}.proj[data-v-067d11d5]{box-shadow:2px 0 0 var(--line),0 2px 0 var(--line),2px 2px 0 var(--line);color:var(--fg);display:flex;flex-direction:column;gap:14px;min-height:340px;padding:clamp(20px,2vw,28px);position:relative;transition:background .35s ease}.proj[data-v-067d11d5]:last-child{box-shadow:none}.proj[data-v-067d11d5]:hover{background:var(--bg-2)}.proj-thumb[data-v-067d11d5]{aspect-ratio:16/10;background-color:var(--logo-bg,#fff);border:1px solid var(--line);border-radius:3px;display:grid;overflow:hidden;padding:clamp(14px,2.2vw,26px);position:relative;transition:border-color .35s ease}.proj:hover .proj-thumb[data-v-067d11d5]{border-color:color-mix(in oklch,var(--accent),transparent 55%)}.proj-thumb img[data-v-067d11d5]{height:100%;min-height:0;-o-object-fit:contain;object-fit:contain;transition:transform .4s ease;width:100%}.proj:hover .proj-thumb img[data-v-067d11d5]{transform:scale(1.04)}.proj-top[data-v-067d11d5]{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.proj h3[data-v-067d11d5]{font-family:var(--font-display);font-size:clamp(21px,2.4vw,27px);font-weight:500;letter-spacing:-.015em;line-height:1.1}.type[data-v-067d11d5]{font-size:11px;white-space:nowrap}.role[data-v-067d11d5],.type[data-v-067d11d5]{color:var(--faint);font-family:var(--font-mono)}.role[data-v-067d11d5]{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;letter-spacing:.02em}.role-sep[data-v-067d11d5]{opacity:.5}.role-date[data-v-067d11d5]{align-items:center;display:inline-flex;gap:5px;white-space:nowrap}.desc[data-v-067d11d5]{color:var(--muted);display:-webkit-box;font-size:15px;-webkit-line-clamp:3;line-height:1.55;-webkit-box-orient:vertical;overflow:hidden}.tags[data-v-067d11d5]{display:flex;flex-wrap:wrap;gap:7px}.tag[data-v-067d11d5]{border:1px solid var(--line);border-radius:3px;color:var(--faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;padding:4px 9px}.tag.more[data-v-067d11d5]{border-color:color-mix(in oklch,var(--accent),transparent 60%);color:var(--accent)}.foot[data-v-067d11d5]{display:flex;gap:12px;justify-content:space-between;margin-top:auto}.foot[data-v-067d11d5],.meta[data-v-067d11d5]{align-items:center}.meta[data-v-067d11d5]{color:var(--faint);display:inline-flex;font-family:var(--font-mono);font-size:12px;gap:6px}.go[data-v-067d11d5]{border:1px solid var(--line);border-radius:50%;color:var(--muted);display:grid;flex-shrink:0;height:38px;place-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);width:38px}.proj:hover .go[data-v-067d11d5]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:rotate(0) translate(2px,-2px)}@media(max-width:1100px){.proj-grid[data-v-067d11d5]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.proj-grid[data-v-067d11d5]{grid-template-columns:1fr}.proj[data-v-067d11d5]{padding:clamp(20px,5vw,28px)}}.section-intro[data-v-f7b67d53]{color:var(--muted);font-size:clamp(18px,2vw,22px);margin-bottom:clamp(32px,5vh,56px);margin-top:-20px;max-width:62ch}.about-grid[data-v-f7b67d53]{display:grid;gap:clamp(40px,6vw,96px);grid-template-columns:1.4fr .9fr}.about-text p[data-v-f7b67d53]{font-size:clamp(20px,2.4vw,27px);letter-spacing:-.01em;line-height:1.5;margin-bottom:1.2em}.about-text .lead[data-v-f7b67d53]{color:var(--fg)}.about-text .dim[data-v-f7b67d53]{color:var(--muted)}.highlights[data-v-f7b67d53]{display:flex;flex-direction:column;gap:12px;list-style:none;margin:28px 0 0;padding:0}.highlights li[data-v-f7b67d53]{color:var(--muted);font-size:16px;line-height:1.5;padding-left:22px;position:relative}.highlights li[data-v-f7b67d53]:before{background:var(--accent);content:"";height:6px;left:0;position:absolute;top:.6em;width:6px}.about-aside[data-v-f7b67d53]{display:flex;flex-direction:column}.aside-row[data-v-f7b67d53]{align-items:baseline;border-bottom:1px solid var(--line-soft);display:flex;font-family:var(--font-mono);font-size:13px;gap:16px;justify-content:space-between;padding:16px 0}.aside-row[data-v-f7b67d53]:first-child{border-top:1px solid var(--line-soft)}.aside-row .k[data-v-f7b67d53]{color:var(--faint);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.aside-row .v[data-v-f7b67d53]{color:var(--fg);text-align:right}.aside-row .v.accent[data-v-f7b67d53]{color:var(--accent)}.stats[data-v-f7b67d53]{border-top:1px solid var(--line);display:grid;gap:clamp(20px,4vw,56px);grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,7vh,80px);padding-top:clamp(36px,5vh,56px)}.stat .n[data-v-f7b67d53]{font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-weight:500;letter-spacing:-.03em;line-height:1}.stat .n span[data-v-f7b67d53]{color:var(--accent)}.stat .l[data-v-f7b67d53]{color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;margin-top:12px;text-transform:uppercase}@media(max-width:900px){.about-grid[data-v-f7b67d53]{grid-template-columns:1fr}}@media(max-width:560px){.stats[data-v-f7b67d53]{gap:28px;grid-template-columns:1fr}}.section-intro[data-v-5b8719eb]{color:var(--muted);font-size:clamp(18px,2vw,22px);margin-bottom:clamp(32px,5vh,56px);margin-top:-20px;max-width:62ch}.work-grid[data-v-5b8719eb]{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:2px;grid-template-columns:repeat(2,1fr);overflow:hidden}.work-card[data-v-5b8719eb]{background:var(--bg);color:var(--fg);display:flex;flex-direction:column;gap:18px;min-height:300px;padding:clamp(28px,3.5vw,48px);position:relative;transition:background .35s ease}.work-card[data-v-5b8719eb]:hover{background:var(--bg-2)}.work-card.is-static[data-v-5b8719eb]{cursor:default}.work-card.is-static[data-v-5b8719eb]:hover{background:var(--bg)}.work-card[data-v-5b8719eb]:last-child:nth-child(odd){grid-column:1/-1}.work-top[data-v-5b8719eb]{align-items:center;display:flex;gap:12px;justify-content:space-between}.work-domain[data-v-5b8719eb]{color:var(--accent);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}.work-card h3[data-v-5b8719eb]{font-family:var(--font-display);font-size:clamp(28px,3.6vw,44px);font-weight:500;letter-spacing:-.02em;line-height:1}.tagline[data-v-5b8719eb]{color:var(--muted);font-size:clamp(15px,1.7vw,18px);line-height:1.55;max-width:42ch}.tags[data-v-5b8719eb]{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.tag[data-v-5b8719eb]{border:1px solid var(--line);border-radius:3px;color:var(--faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;padding:4px 9px}.go[data-v-5b8719eb]{border:1px solid var(--line);border-radius:50%;color:var(--muted);display:grid;flex-shrink:0;height:40px;place-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);width:40px}.work-card:hover .go[data-v-5b8719eb]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:translate(2px,-2px)}@media(max-width:768px){.work-grid[data-v-5b8719eb]{grid-template-columns:1fr}.work-card[data-v-5b8719eb]:last-child:nth-child(odd){grid-column:auto}}.intro[data-v-47782d1c]{color:var(--muted);font-size:clamp(18px,2vw,22px);margin-bottom:clamp(32px,5vh,56px);margin-top:-20px;max-width:56ch}.ai-grid[data-v-47782d1c]{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:2px;grid-template-columns:repeat(3,1fr);overflow:hidden}.ai-card[data-v-47782d1c]{background:var(--bg);display:flex;flex-direction:column;gap:14px;min-height:220px;padding:clamp(24px,2.6vw,36px);transition:background .35s ease}.ai-card[data-v-47782d1c]:hover{background:var(--bg-2)}.ai-top[data-v-47782d1c]{align-items:center;display:flex;gap:12px;justify-content:space-between}.ai-icon[data-v-47782d1c]{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);display:grid;height:46px;place-items:center;width:46px}.ai-icon[data-v-47782d1c],.ai-tag[data-v-47782d1c]{color:var(--accent)}.ai-tag[data-v-47782d1c]{border:1px solid color-mix(in oklch,var(--accent),transparent 60%);border-radius:3px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;padding:5px 10px;text-transform:uppercase}.ai-card h3[data-v-47782d1c]{font-family:var(--font-display);font-size:clamp(19px,2.2vw,25px);font-weight:500;letter-spacing:-.015em;line-height:1.1}.ai-card p[data-v-47782d1c]{color:var(--muted);font-size:14px;line-height:1.6}@media(max-width:900px){.ai-grid[data-v-47782d1c]{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.ai-grid[data-v-47782d1c]{grid-template-columns:1fr}}
