.hero.svelte-1ajb7ut{flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(112px,16vh,160px) 0 clamp(56px,10vh,112px);display:flex;position:relative}.hero-inner.svelte-1ajb7ut{gap:clamp(24px,4vh,48px);display:grid}.kicker.svelte-1ajb7ut{color:var(--color-text-muted);animation:svelte-1ajb7ut-fade .6s var(--ease-out) .1s both;align-items:center;gap:14px;display:flex}.kicker.svelte-1ajb7ut span:where(.svelte-1ajb7ut){background:var(--color-accent);width:32px;height:1px}.title-row.svelte-1ajb7ut{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.portrait.svelte-1ajb7ut{width:clamp(160px,17vw,260px);animation:svelte-1ajb7ut-portrait .8s var(--ease-out) both;border-radius:4px;flex:none;margin:0;overflow:hidden}.portrait.svelte-1ajb7ut picture:where(.svelte-1ajb7ut){display:contents}.portrait.svelte-1ajb7ut img:where(.svelte-1ajb7ut){filter:grayscale()contrast(1.08)brightness(.88);width:100%;height:auto;transition:filter var(--motion-duration-slow) var(--ease-out), transform var(--motion-duration-slow) var(--ease-out);display:block;transform:scale(1.04)}.portrait.svelte-1ajb7ut:hover img:where(.svelte-1ajb7ut){filter:none;transform:scale(1)}h1.svelte-1ajb7ut{letter-spacing:-.045em;font-size:clamp(46px,7vw,104px);font-weight:350;line-height:.95}.line.svelte-1ajb7ut{padding-bottom:.06em;display:block;overflow:hidden}.line.svelte-1ajb7ut>span:where(.svelte-1ajb7ut){animation:svelte-1ajb7ut-rise .6s var(--ease-out) both;display:inline-block}.line.svelte-1ajb7ut:nth-child(2)>span:where(.svelte-1ajb7ut){letter-spacing:-.03em;padding-left:.5em;animation-delay:80ms}.hero-foot.svelte-1ajb7ut{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);display:grid}@media (width<=700px){.hero-foot.svelte-1ajb7ut{grid-template-columns:minmax(0,1fr)}}.hero-foot.svelte-1ajb7ut{animation:svelte-1ajb7ut-fade .6s var(--ease-out) .2s both;align-items:end;row-gap:32px}.intro.svelte-1ajb7ut{color:var(--color-text-muted);grid-column:1/span 5;max-width:44ch;font-size:clamp(17px,1.3vw,19px);line-height:1.5}.facts.svelte-1ajb7ut{grid-column:7/-1;justify-content:flex-end;gap:clamp(24px,3.4vw,56px);display:flex}dt.svelte-1ajb7ut{white-space:nowrap;color:var(--color-text-faint);margin-bottom:6px}dd.svelte-1ajb7ut{font-size:15px}.scroll-cue.svelte-1ajb7ut{right:calc(var(--layout-gutter) * -.5);writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);align-items:center;gap:14px;font-size:11px;font-weight:400;display:flex;position:absolute;top:50%;translate:50%}.scroll-cue.svelte-1ajb7ut:after{content:"";background:linear-gradient(var(--color-text-muted), transparent);transform-origin:top;width:1px;height:64px;animation:svelte-1ajb7ut-cue 2.4s var(--ease-out) infinite}@supports (animation-timeline:scroll()){.hero-inner.svelte-1ajb7ut{animation:linear both svelte-1ajb7ut-recede;animation-timeline:scroll(root);animation-range:0 100svh}@media (width<=700px){.hero-inner.svelte-1ajb7ut{animation-name:svelte-1ajb7ut-recede-soft;animation-range:35svh 100svh}}}@keyframes svelte-1ajb7ut-rise{0%{opacity:.4;transform:translateY(40%)}}@keyframes svelte-1ajb7ut-portrait{0%{transform:scale(1.06)}}@keyframes svelte-1ajb7ut-cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes svelte-1ajb7ut-fade{0%{opacity:0;transform:translateY(16px)}}@keyframes svelte-1ajb7ut-recede{to{opacity:0;filter:blur(6px);transform:translateY(-12vh)scale(.96)}}@keyframes svelte-1ajb7ut-recede-soft{to{opacity:0;transform:translateY(-8vh)}}@media (width<=1150px){.intro.svelte-1ajb7ut{grid-column:1/span 8}.facts.svelte-1ajb7ut{grid-column:1/-1;justify-content:flex-start}}@media (width<=700px){.hero.svelte-1ajb7ut{padding:88px 0 24px}.hero-inner.svelte-1ajb7ut{gap:20px}.intro.svelte-1ajb7ut,.facts.svelte-1ajb7ut{grid-column:1}.hero-foot.svelte-1ajb7ut{row-gap:20px}.intro.svelte-1ajb7ut{font-size:16px;line-height:1.55}.facts.svelte-1ajb7ut{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;display:grid}.facts.svelte-1ajb7ut>div:where(.svelte-1ajb7ut):first-child:nth-last-child(3){grid-column:1/-1}dt.svelte-1ajb7ut{margin-bottom:4px}.title-row.svelte-1ajb7ut{flex-direction:column-reverse;align-items:flex-start;gap:20px}.portrait.svelte-1ajb7ut{width:88px}.scroll-cue.svelte-1ajb7ut{display:none}.line.svelte-1ajb7ut:nth-child(2)>span:where(.svelte-1ajb7ut){padding-left:0}}@media (width<=700px) and (height<=700px){.hero.svelte-1ajb7ut{padding-top:80px}.hero-inner.svelte-1ajb7ut,.title-row.svelte-1ajb7ut{gap:16px}.portrait.svelte-1ajb7ut{width:72px}}.light-shafts.svelte-3igwsm{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity 1.6s var(--ease-out);position:absolute;inset:0}.ready.svelte-3igwsm{opacity:1}dialog.svelte-8kai16{width:min(1120px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--color-text);background:var(--gradient-sheet);border:1px solid var(--color-border-strong);border-radius:6px;padding:0;overflow:hidden}dialog[open].svelte-8kai16{animation:svelte-8kai16-sheet-in .7s var(--ease-out)}dialog.svelte-8kai16::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(10px)}dialog[open].svelte-8kai16::backdrop{animation:svelte-8kai16-backdrop-in .5s var(--ease-out)}.sheet.svelte-8kai16{z-index:1;flex-direction:column;max-height:calc(100dvh - 34px);display:flex;position:relative}header.svelte-8kai16{border-bottom:1px solid var(--color-border);flex:none;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 12px 0 clamp(20px,4vw,56px);display:flex}.body.svelte-8kai16{overscroll-behavior:contain;flex:1;min-height:0;padding:0 clamp(20px,4vw,56px) clamp(32px,5vw,64px);overflow-y:auto}.close.svelte-8kai16{border:1px solid var(--color-border);width:34px;height:34px;transition:border-color var(--motion-duration-fast), transform var(--motion-duration-slow) var(--ease-out);border-radius:50%;place-items:center;display:grid}.close.svelte-8kai16:hover{border-color:var(--color-border-strong);transform:rotate(90deg)}@keyframes svelte-8kai16-sheet-in{0%{opacity:0;transform:translateY(40px)scale(.97)}}@keyframes svelte-8kai16-backdrop-in{0%{opacity:0}}.tags.svelte-11bk8x3{font-family:var(--font-mono);color:var(--color-text-muted);flex-wrap:wrap;gap:6px 18px;font-size:12px;display:flex}.project.svelte-u85zen{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);display:grid}@media (width<=700px){.project.svelte-u85zen{grid-template-columns:minmax(0,1fr)}}.project.svelte-u85zen{align-items:end;row-gap:32px}.cover.svelte-u85zen{perspective:1400px;text-align:left;grid-column:1/span 8;padding:0;display:block;position:relative}.frame.svelte-u85zen{border:1px solid var(--color-border);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .6s var(--ease-out), border-color var(--motion-duration-slow) var(--ease-out);box-shadow:var(--shadow-media);border-radius:4px;display:block;overflow:hidden}.frame.svelte-u85zen img{aspect-ratio:2;object-fit:cover;width:100%;height:auto;transition:transform 1.2s var(--ease-out), filter var(--motion-duration-slow) var(--ease-out);filter:brightness(.85);display:block;transform:scale(1.02)}.cover.svelte-u85zen:hover .frame:where(.svelte-u85zen),.cover.svelte-u85zen:focus-visible .frame:where(.svelte-u85zen){border-color:var(--color-border-strong)}.cover.svelte-u85zen:hover img,.cover.svelte-u85zen:focus-visible img{filter:none;transform:scale(1.06)}.hint.svelte-u85zen{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text);background:color-mix(in srgb, var(--color-text) 9%, transparent);border:1px solid color-mix(in srgb, var(--color-text) 28%, transparent);border-radius:999px;align-items:center;gap:8px;padding:5px 11px 5px 9px;font-size:11px;font-weight:400;display:inline-flex;position:absolute;bottom:20px;left:20px}.hint.svelte-u85zen:before{content:"";background:var(--color-text);border-radius:50%;width:6px;height:6px}.hint.svelte-u85zen{background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);border-color:var(--color-border-strong);opacity:0;transition:opacity var(--motion-duration-slow) var(--ease-out), transform var(--motion-duration-slow) var(--ease-out);padding:9px 14px 9px 12px;transform:translateY(8px)}.hint.svelte-u85zen:before{background:var(--color-accent)}.cover.svelte-u85zen:hover .hint:where(.svelte-u85zen),.cover.svelte-u85zen:focus-visible .hint:where(.svelte-u85zen){opacity:1;transform:none}.meta.svelte-u85zen{grid-column:9/-1;align-content:end;gap:14px;display:grid}h3.svelte-u85zen{font-size:clamp(24px,2.4vw,34px)}.category.svelte-u85zen{font-family:var(--font-serif);color:var(--color-text-muted);font-size:20px;font-style:italic}.description.svelte-u85zen{color:var(--color-text-muted);margin-bottom:8px}@media (hover:none){.hint.svelte-u85zen{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.frame.svelte-u85zen{transform:none}}@media (width<=900px){.cover.svelte-u85zen,.meta.svelte-u85zen{grid-column:1/-1}}.section-heading.svelte-tuz5hs{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);display:grid}@media (width<=700px){.section-heading.svelte-tuz5hs{grid-template-columns:minmax(0,1fr)}}.section-heading.svelte-tuz5hs{align-items:end;row-gap:24px;margin-bottom:clamp(48px,6vw,88px)}.label.svelte-tuz5hs{grid-column:1/-1}h2.svelte-tuz5hs{grid-column:1/span 8;font-size:clamp(32px,4vw,56px)}.aside.svelte-tuz5hs{color:var(--color-text-muted);grid-column:9/-1;max-width:36ch}@media (width<=900px){h2.svelte-tuz5hs,.aside.svelte-tuz5hs{grid-column:1/-1}}.section.svelte-oxliq3{padding:clamp(96px,16vh,180px) 0;position:relative}.list.svelte-oxliq3{gap:clamp(72px,10vw,140px);display:grid}.skill.svelte-1fwgm3t{border-top:1px solid var(--color-border-strong);align-content:start;gap:16px;padding-top:24px;display:grid}.top.svelte-1fwgm3t{justify-content:space-between;align-items:center;gap:16px;display:flex}.icon.svelte-1fwgm3t{width:44px;height:44px;color:var(--color-accent);border:1px solid var(--color-border);transition:border-color var(--motion-duration-slow) var(--ease-out);border-radius:50%;place-items:center;display:grid}.skill.svelte-1fwgm3t:hover .icon:where(.svelte-1fwgm3t){border-color:color-mix(in srgb, var(--color-accent) 45%, transparent)}.count.svelte-1fwgm3t{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);font-size:11px;font-weight:400}h3.svelte-1fwgm3t{font-size:clamp(24px,2.4vw,34px)}.description.svelte-1fwgm3t{color:var(--color-text-muted);max-width:32ch}ul.svelte-1fwgm3t{margin-top:16px}li.svelte-1fwgm3t{border-bottom:1px solid var(--color-border);transition:color var(--motion-duration-fast), padding var(--motion-duration-slow) var(--ease-out);align-items:center;gap:14px;padding:11px 0;font-size:15px;display:flex}li.svelte-1fwgm3t:hover{padding-left:8px}li.svelte-1fwgm3t a:where(.svelte-1fwgm3t){flex:1;align-items:center;gap:14px;display:flex}li.svelte-1fwgm3t a:where(.svelte-1fwgm3t):hover{color:var(--color-accent)}.posts.svelte-1fwgm3t{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:4px;margin-left:auto;font-size:11px;font-weight:400;display:inline-flex}.name.svelte-1fwgm3t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=900px){ul.svelte-1fwgm3t{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;display:grid}li.svelte-1fwgm3t,li.svelte-1fwgm3t a:where(.svelte-1fwgm3t){gap:10px;min-width:0}}.section.svelte-1sxpf4b{padding:clamp(96px,16vh,180px) 0;position:relative}.grid.svelte-1sxpf4b{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,64px);display:grid}@media (width<=900px){.grid.svelte-1sxpf4b{grid-template-columns:minmax(0,1fr);gap:64px}}.certifications.svelte-czgosb{margin-top:clamp(64px,9vw,112px)}h3.svelte-czgosb{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:24px;font-size:12px;font-weight:400}ul.svelte-czgosb{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}li.svelte-czgosb{background:var(--gradient-card);border:1px solid var(--color-border);transition:transform var(--motion-duration-slow) var(--ease-out), border-color var(--motion-duration-slow) var(--ease-out);border-radius:6px;align-content:start;gap:8px;padding:22px;display:grid;position:relative}li.svelte-czgosb:hover,li.svelte-czgosb:focus-visible{border-color:var(--color-border-strong);transform:translateY(-4px)}.icon.svelte-czgosb{width:36px;height:36px;color:var(--color-cool);border:1px solid var(--color-border);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.name.svelte-czgosb{font-size:15px;line-height:1.35}a.name.svelte-czgosb:after{content:"";position:absolute;inset:0}a.name.svelte-czgosb:hover{color:var(--color-cool)}.see.svelte-czgosb{pointer-events:none;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-cool);transition:color var(--motion-duration-fast);align-items:center;gap:6px;font-size:11px;font-weight:400;display:inline-flex;position:absolute;top:30px;right:22px}.see.svelte-czgosb svg{transition:transform var(--motion-duration-slow) var(--ease-out)}li.svelte-czgosb:hover .see:where(.svelte-czgosb){color:var(--color-text)}li.svelte-czgosb:hover .see:where(.svelte-czgosb) svg{transform:translate(2px,-2px)}.meta.svelte-czgosb{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);font-size:11px;font-weight:400}@media (width<=900px){ul.svelte-czgosb{grid-template-columns:minmax(0,1fr)}}[data-kind=employment].svelte-x3vszu{--kind:var(--color-text)}[data-kind=consulting].svelte-x3vszu{--kind:var(--color-accent)}[data-kind=training].svelte-x3vszu{--kind:var(--color-cool)}.badge.svelte-x3vszu{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--kind);background:color-mix(in srgb, var(--kind) 9%, transparent);border:1px solid color-mix(in srgb, var(--kind) 28%, transparent);border-radius:999px;align-items:center;gap:8px;padding:5px 11px 5px 9px;font-size:11px;font-weight:400;display:inline-flex}.badge.svelte-x3vszu:before{content:"";background:var(--kind);border-radius:50%;width:6px;height:6px}.legend.svelte-x3vszu{flex-wrap:wrap;gap:12px 28px;margin-bottom:clamp(48px,7vw,88px);display:flex}.legend.svelte-x3vszu li:where(.svelte-x3vszu){font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);align-items:center;gap:10px;font-size:12px;font-weight:400;display:inline-flex}.timeline.svelte-x3vszu{--axis:50%;gap:clamp(32px,5vw,56px);display:grid;position:relative}.axis.svelte-x3vszu{top:0;bottom:0;left:var(--axis);background:var(--color-border);width:1px;position:absolute}.fill.svelte-x3vszu{background:linear-gradient(var(--color-accent), color-mix(in srgb, var(--color-accent) 20%, transparent));transform:scaleY(var(--progress,1));transform-origin:top;position:absolute;inset:0}.entry.svelte-x3vszu{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);align-items:start;display:grid;position:relative}.node.svelte-x3vszu{background:var(--color-background);border:1px solid var(--color-border-strong);border-radius:50%;grid-area:1/2;justify-self:center;width:11px;height:11px;margin-top:30px;position:relative}.live.svelte-x3vszu .node:where(.svelte-x3vszu){transition:background var(--motion-duration-slow) var(--ease-out), border-color var(--motion-duration-slow) var(--ease-out), box-shadow var(--motion-duration-slow) var(--ease-out)}.reached.svelte-x3vszu .node:where(.svelte-x3vszu){background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--color-accent) 12%, transparent)}.current.svelte-x3vszu .node:where(.svelte-x3vszu):after{content:"";border:1px solid var(--color-accent);animation:svelte-x3vszu-pulse 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-1px}.year.svelte-x3vszu{color:var(--color-text-faint);grid-row:1;margin-top:22px;font-size:20px;line-height:1}.live.svelte-x3vszu .year:where(.svelte-x3vszu){transition:color var(--motion-duration-slow) var(--ease-out)}.reached.svelte-x3vszu .year:where(.svelte-x3vszu){color:var(--color-text-muted)}.card.svelte-x3vszu{background:var(--gradient-card);border:1px solid var(--color-border);transition:transform var(--motion-duration-slow) var(--ease-out), border-color var(--motion-duration-slow) var(--ease-out);border-radius:6px;grid-row:1;gap:6px;padding:clamp(20px,2.4vw,28px);display:grid}.card.svelte-x3vszu:hover,.card.svelte-x3vszu:focus-visible{border-color:var(--color-border-strong);transform:translateY(-4px)}.current.svelte-x3vszu .card:where(.svelte-x3vszu){border-color:color-mix(in srgb, var(--color-accent) 35%, transparent)}.entry.svelte-x3vszu:nth-child(2n) .card:where(.svelte-x3vszu){grid-column:1}.entry.svelte-x3vszu:nth-child(2n) .year:where(.svelte-x3vszu),.entry.svelte-x3vszu:nth-child(odd) .card:where(.svelte-x3vszu){grid-column:3}.entry.svelte-x3vszu:nth-child(odd) .year:where(.svelte-x3vszu){grid-column:1;justify-self:end}.card-top.svelte-x3vszu{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.date.svelte-x3vszu{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);font-size:11px;font-weight:400}.current.svelte-x3vszu .date:where(.svelte-x3vszu){color:var(--color-accent)}h3.svelte-x3vszu{letter-spacing:-.02em;font-size:20px}.company.svelte-x3vszu{font-family:var(--font-serif);color:var(--color-text-muted);font-size:20px;font-style:italic}.description.svelte-x3vszu{color:var(--color-text-muted);margin-top:8px;font-size:15px}.tags.svelte-x3vszu{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:8px 16px;margin-top:14px;padding-top:14px;display:flex}.tags.svelte-x3vszu li:where(.svelte-x3vszu){font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;text-transform:none;color:var(--color-text-muted);align-items:center;gap:8px;font-size:11px;font-weight:400;display:inline-flex}.certificate.svelte-x3vszu{width:fit-content;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-cool);align-items:center;gap:6px;margin-top:14px;font-size:11px;font-weight:400;display:inline-flex}.certificate.svelte-x3vszu:hover{color:var(--color-text)}@keyframes svelte-x3vszu-pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(3)}}@media (width<=900px){.timeline.svelte-x3vszu{--axis:5px}.entry.svelte-x3vszu{grid-template-columns:11px minmax(0,1fr);column-gap:20px}.node.svelte-x3vszu{grid-column:1;margin-top:26px}.entry.svelte-x3vszu:nth-child(n) .card:where(.svelte-x3vszu){grid-column:2}.entry.svelte-x3vszu:nth-child(n) .year:where(.svelte-x3vszu){display:none}}.section.svelte-1xhm663{padding:clamp(96px,16vh,180px) 0;position:relative}.about.svelte-1xhm663{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);display:grid}@media (width<=700px){.about.svelte-1xhm663{grid-template-columns:minmax(0,1fr)}}.about.svelte-1xhm663{row-gap:32px;margin-bottom:clamp(72px,10vw,140px)}.statement.svelte-1xhm663{letter-spacing:-.025em;grid-column:1/span 8;font-size:clamp(24px,2.4vw,34px);font-weight:350;line-height:1.2}.statement.svelte-1xhm663 .serif:where(.svelte-1xhm663){color:var(--color-accent)}.note.svelte-1xhm663{color:var(--color-text-muted);grid-column:9/-1;align-self:end}@media (width<=900px){.statement.svelte-1xhm663,.note.svelte-1xhm663{grid-column:1/-1}}
