.reveal.svelte-16jggtj{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay)}.reveal.is-visible.svelte-16jggtj{opacity:1}.utb.svelte-138qx6o{color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;cursor:pointer;vertical-align:baseline;line-height:1.05;text-decoration:none;display:inline-block;position:relative}.fill.svelte-138qx6o{pointer-events:none;inset-inline:0;z-index:0;height:var(--underline-height,1px);background:var(--fill-color,currentColor);opacity:.28;will-change:height, opacity;transition:height .45s cubic-bezier(.22,1,.36,1),opacity .35s;position:absolute;bottom:-2px}.label.svelte-138qx6o{z-index:1;font:inherit;font-weight:inherit;letter-spacing:inherit;will-change:color;transition:color .45s cubic-bezier(.22,1,.36,1);display:inline-block;position:relative}.utb.svelte-138qx6o:hover .fill:where(.svelte-138qx6o),.utb.svelte-138qx6o:focus-visible .fill:where(.svelte-138qx6o){opacity:1;height:100%;bottom:0}.utb.svelte-138qx6o:hover .label:where(.svelte-138qx6o),.utb.svelte-138qx6o:focus-visible .label:where(.svelte-138qx6o){color:var(--target-color,#fff)}@media (prefers-reduced-motion:reduce){.fill.svelte-138qx6o,.label.svelte-138qx6o{transition:none}.utb.svelte-138qx6o:hover .fill:where(.svelte-138qx6o),.utb.svelte-138qx6o:focus-visible .fill:where(.svelte-138qx6o){height:var(--underline-height,1px);opacity:.45}.utb.svelte-138qx6o:hover .label:where(.svelte-138qx6o),.utb.svelte-138qx6o:focus-visible .label:where(.svelte-138qx6o){color:inherit;text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}}.awards.svelte-el8sv4{width:fit-content;max-width:100%;color:inherit;flex-direction:column;align-items:flex-start;gap:.1rem;margin:.75rem auto 0;text-decoration:none;display:inline-flex}.kicker.svelte-el8sv4{color:var(--ink-faint);letter-spacing:.055em;text-transform:uppercase;font-size:.58rem;font-weight:700;line-height:1.15}.label.svelte-el8sv4{color:var(--ink-soft);letter-spacing:-.015em;font-size:.84rem;font-weight:700;line-height:1.15;transition:color .2s}.awards.svelte-el8sv4:hover .label:where(.svelte-el8sv4),.awards.svelte-el8sv4:focus-visible .label:where(.svelte-el8sv4){color:color-mix(in srgb, var(--haze) 72%, #1c2433)}.awards.svelte-el8sv4:focus-visible{outline:2px solid color-mix(in srgb, var(--haze) 45%, transparent);outline-offset:3px;border-radius:.35rem}.card.svelte-uyn4cm{width:100%;min-width:0;max-width:100%}.card.svelte-uyn4cm .reveal{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;min-width:0;max-width:100%;display:flex}.copy.svelte-uyn4cm{width:min(100%,36rem);min-width:0}.copy.svelte-uyn4cm h3:where(.svelte-uyn4cm){letter-spacing:-.02em;margin:0 0 .3rem;font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:700}.copy.svelte-uyn4cm p:where(.svelte-uyn4cm){color:var(--ink-mute);margin:0;font-size:.92rem;line-height:1.5}ul.svelte-uyn4cm{flex-wrap:wrap;justify-content:center;gap:.65rem 1rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}ul.svelte-uyn4cm a{color:var(--ink-soft);font-size:.95rem;font-weight:700}.media-stack.svelte-uyn4cm{flex-direction:column;align-items:center;gap:.65rem;width:100%;min-width:0;max-width:min(36rem,100%);display:flex}.frame.svelte-uyn4cm{border:1px solid #0000000f;border-radius:1rem;place-items:center;width:100%;min-width:0;max-width:100%;display:grid;position:relative;overflow:hidden}.frame.is-pending.svelte-uyn4cm:before{content:"";z-index:1;border-radius:inherit;background:linear-gradient(105deg,#efefef 0%,#f7f7f7 45%,#efefef 90%) 0 0/200% 100%;animation:1.35s ease-in-out infinite svelte-uyn4cm-media-shimmer;position:absolute;inset:0}.frame.is-portrait.is-pending.svelte-uyn4cm:before{background:linear-gradient(105deg,#e8e8ea 0%,#f2f2f4 45%,#e8e8ea 90%) 0 0/200% 100%;border-radius:1.35rem;inset:2%}.frame.svelte-uyn4cm :is(img:where(.svelte-uyn4cm),.clip:where(.svelte-uyn4cm),iframe:where(.svelte-uyn4cm),.media-link:where(.svelte-uyn4cm)){opacity:0;transition:opacity .4s}.frame.is-ready.svelte-uyn4cm :is(img:where(.svelte-uyn4cm),.clip:where(.svelte-uyn4cm),iframe:where(.svelte-uyn4cm),.media-link:where(.svelte-uyn4cm)){opacity:1}.frame.is-ready.svelte-uyn4cm:before{opacity:0;pointer-events:none;transition:opacity .35s;animation:none}@keyframes svelte-uyn4cm-media-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.frame.is-pending.svelte-uyn4cm:before{animation:none}.frame.svelte-uyn4cm :is(img:where(.svelte-uyn4cm),.clip:where(.svelte-uyn4cm),iframe:where(.svelte-uyn4cm),.media-link:where(.svelte-uyn4cm)){transition:none}}.frame.is-video.svelte-uyn4cm:not(.is-portrait){aspect-ratio:16/9;background:#0b0b0f}.frame.is-video.is-portrait.svelte-uyn4cm{box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.frame.svelte-uyn4cm .clip:where(.svelte-uyn4cm){appearance:none;background:0 0;border:none;outline:none;width:100%;height:auto;max-height:none;display:block}.frame.is-video.is-portrait.svelte-uyn4cm .clip:where(.svelte-uyn4cm){object-fit:contain;min-height:24rem}.frame.is-wide.svelte-uyn4cm{aspect-ratio:auto;background:#0b0b0f}.frame.is-portrait.svelte-uyn4cm{aspect-ratio:auto;width:11.5rem;max-width:min(11.5rem,70vw);box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.card.strip.svelte-uyn4cm .media-stack:where(.svelte-uyn4cm){--phone-w:min(15rem, 68vw);--strip-h:calc(var(--phone-w) * 2);--wide-w:calc(var(--strip-h) * 4 / 3);--shot-w:calc(var(--strip-h) * 3 / 2);--gallery-inset:max(var(--pad), calc((100vw - min(48rem, 100vw)) / 2 + var(--pad)));width:100vw;max-width:100vw;padding-left:var(--gallery-inset);padding-right:max(var(--gallery-inset), calc(100vw - var(--gallery-inset) - var(--shot-w)));box-sizing:border-box;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:var(--gallery-inset);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;justify-content:flex-start;align-self:stretch;align-items:center;gap:.85rem;margin-left:calc(50% - 50vw);padding-bottom:.15rem;overflow-x:auto}.card.strip.svelte-uyn4cm .media-stack:where(.svelte-uyn4cm)::-webkit-scrollbar{display:none}.card.strip.svelte-uyn4cm .frame.is-portrait:where(.svelte-uyn4cm){width:var(--phone-w);height:var(--strip-h);scroll-snap-align:start;background:0 0;border:none;border-radius:0;flex:none;max-width:none;min-height:0;overflow:visible}.card.strip.svelte-uyn4cm .frame.is-portrait:where(.svelte-uyn4cm) img:where(.svelte-uyn4cm),.card.strip.svelte-uyn4cm .frame.is-portrait:where(.svelte-uyn4cm) .clip:where(.svelte-uyn4cm){object-fit:contain;width:100%;height:100%;min-height:0}.card.strip.svelte-uyn4cm .frame.is-video.is-portrait:where(.svelte-uyn4cm){box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.card.strip.svelte-uyn4cm .frame.is-video:where(.svelte-uyn4cm):not(.is-portrait){width:var(--wide-w);height:var(--strip-h);aspect-ratio:auto;max-width:none;box-shadow:none;scroll-snap-align:start;background:#fff;border:none;border-radius:.85rem;flex:none;overflow:hidden}.card.strip.svelte-uyn4cm .frame.is-video:not(.is-portrait).light:where(.svelte-uyn4cm){background:#fff}.card.strip.svelte-uyn4cm .frame.is-video:where(.svelte-uyn4cm):not(.is-portrait) .clip:where(.svelte-uyn4cm){object-fit:contain;background:#fff;width:100%;height:100%;min-height:0}.card.strip.svelte-uyn4cm .frame.is-wide:where(.svelte-uyn4cm){width:var(--shot-w);height:var(--strip-h);scroll-snap-align:start;background:#f4f4f5;border:none;border-radius:.85rem;flex:none;max-width:none;overflow:hidden}.card.strip.svelte-uyn4cm .frame.is-wide.is-square:where(.svelte-uyn4cm){width:var(--strip-h);height:var(--strip-h);background:#0b0b0f}.card.strip.svelte-uyn4cm .frame.is-wide:where(.svelte-uyn4cm) img:where(.svelte-uyn4cm),.card.strip.svelte-uyn4cm .frame.is-wide:where(.svelte-uyn4cm) .media-link:where(.svelte-uyn4cm){width:100%;height:100%}.card.strip.svelte-uyn4cm .frame.is-wide:where(.svelte-uyn4cm) img:where(.svelte-uyn4cm){object-fit:cover}.frame.is-placeholder.svelte-uyn4cm{aspect-ratio:16/9}.media-stack[data-tone=blue].svelte-uyn4cm .frame.is-placeholder:where(.svelte-uyn4cm){background:linear-gradient(145deg,#7f91b8,#4f628f 55%,#2f3b58)}.media-stack[data-tone=violet].svelte-uyn4cm .frame.is-placeholder:where(.svelte-uyn4cm){background:linear-gradient(145deg,#8b8ab8,#5d5f8f 55%,#353652)}.media-stack[data-tone=slate].svelte-uyn4cm .frame.is-placeholder:where(.svelte-uyn4cm){background:linear-gradient(145deg,#7d8796,#4d5664 55%,#2c323c)}.frame.svelte-uyn4cm img:where(.svelte-uyn4cm){width:100%;max-width:100%;height:auto;display:block}.media-link.svelte-uyn4cm{width:100%;height:100%;color:inherit;line-height:0;transition:opacity .2s;display:block}.media-link.svelte-uyn4cm:hover,.media-link.svelte-uyn4cm:focus-visible{opacity:.92}.media-link.svelte-uyn4cm:focus-visible{outline:2px solid color-mix(in srgb, var(--haze) 55%, transparent);outline-offset:3px}.frame.svelte-uyn4cm iframe:where(.svelte-uyn4cm){border:none;width:100%;height:100%;display:block}.glow.svelte-uyn4cm{background:radial-gradient(circle at 28% 22%,#ffffff38,#0000 42%),radial-gradient(circle at 78% 70%,#14182847,#0000 48%);animation:14s ease-in-out infinite alternate svelte-uyn4cm-drift;position:absolute;inset:0}.frame.is-placeholder.svelte-uyn4cm span:where(.svelte-uyn4cm){z-index:1;color:#ffffffb8;font-size:1rem;font-style:italic;position:relative}@keyframes svelte-uyn4cm-drift{0%{transform:scale(1)translate(0)}to{transform:scale(1.05)translate(-1%,1.5%)}}@media (width>=640px){.card.multi.svelte-uyn4cm:not(.strip) .media-stack:where(.svelte-uyn4cm){flex-direction:row;align-items:stretch;gap:.75rem;max-width:min(42rem,100%)}.card.multi.svelte-uyn4cm:not(.strip) .frame:where(.svelte-uyn4cm){flex:1 1 0;min-width:0}.card.multi.svelte-uyn4cm:not(.strip) .frame.is-video:where(.svelte-uyn4cm){aspect-ratio:16/9;align-self:center}.card.multi.svelte-uyn4cm:not(.strip) .frame.is-wide:where(.svelte-uyn4cm){aspect-ratio:1}.card.multi.svelte-uyn4cm:not(.strip) .frame.is-wide:where(.svelte-uyn4cm) .media-link:where(.svelte-uyn4cm),.card.multi.svelte-uyn4cm:not(.strip) .frame.is-wide:where(.svelte-uyn4cm) img:where(.svelte-uyn4cm){width:100%;height:100%}.card.multi.svelte-uyn4cm:not(.strip) .frame.is-wide:where(.svelte-uyn4cm) img:where(.svelte-uyn4cm){object-fit:cover}.card.svelte-uyn4cm:not(.strip) .frame.is-portrait:where(.svelte-uyn4cm){width:14rem;max-width:14rem}}@media (width>=720px){.card.strip.svelte-uyn4cm .media-stack:where(.svelte-uyn4cm){--phone-w:min(16.5rem, 28vw);gap:1rem}}@media (prefers-reduced-motion:reduce){.glow.svelte-uyn4cm{animation:none}}.heading.svelte-1ppn9jz{font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0}.badge.svelte-1ppn9jz{isolation:isolate;background:linear-gradient(145deg, var(--haze-light), var(--haze-deep) 55%, var(--haze));font:inherit;letter-spacing:-.02em;color:#fff;border-radius:.6rem;align-items:center;margin:0;padding:.6rem 1.05rem;font-size:1.55rem;font-weight:700;line-height:1.15;text-decoration:none;transition:transform .22s cubic-bezier(.22,1,.36,1);display:inline-flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:inset 0 0 0 1px #ffffff1f}.badge.is-link.svelte-1ppn9jz{cursor:pointer}.badge.is-link.svelte-1ppn9jz:hover{transform:scale(1.035)}.badge.is-link.svelte-1ppn9jz:active{transition-duration:80ms;transform:scale(.96)}.badge.is-link.svelte-1ppn9jz:focus-visible{outline:2px solid color-mix(in srgb, var(--haze-alt) 70%, white);outline-offset:3px}.tint.svelte-1ppn9jz{z-index:0;background:linear-gradient(145deg, var(--haze-alt-light), var(--haze-alt-deep) 55%, var(--haze-alt));opacity:0;animation:tint-shift var(--tint-duration) ease-in-out infinite;position:absolute;inset:0}.tint-b.svelte-1ppn9jz{background:linear-gradient(145deg, var(--haze-3-light), var(--haze-3-deep) 55%, var(--haze-3));animation-name:tint-shift-b}.grain.svelte-1ppn9jz,.grain-fine.svelte-1ppn9jz{z-index:1;pointer-events:none;position:absolute;inset:0}.grain.svelte-1ppn9jz{opacity:1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='1.8'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:90px 90px}.grain-fine.svelte-1ppn9jz{opacity:.65;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n2)'/%3E%3C/svg%3E");background-size:70px 70px}.label.svelte-1ppn9jz{z-index:2;text-shadow:0 1px 1px #141e3240;position:relative}@media (prefers-reduced-motion:reduce){.badge.svelte-1ppn9jz{transition:none}.badge.is-link.svelte-1ppn9jz:hover,.badge.is-link.svelte-1ppn9jz:active{transform:none}.tint.svelte-1ppn9jz{opacity:.35;animation:none}.tint-b.svelte-1ppn9jz{opacity:0}}.shell.svelte-1uha8ag{width:100%;max-width:48rem;padding:clamp(2rem, 5vw, 3.5rem) var(--pad) 3.5rem;margin:0 auto;overflow-x:visible}.top.svelte-1uha8ag{justify-content:space-between;align-items:flex-start;gap:1.5rem;min-width:0;margin-bottom:clamp(2.5rem,6vw,3.75rem);display:flex}.identity.svelte-1uha8ag{min-width:0}.identity.svelte-1uha8ag h1:where(.svelte-1uha8ag){letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.identity.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--ink-mute);margin:.15rem 0 0;font-size:.95rem;line-height:1.45}.identity.svelte-1uha8ag .place:where(.svelte-1uha8ag){color:var(--ink-faint);font-size:.88rem}nav.svelte-1uha8ag{flex-shrink:0;gap:1.25rem;padding-top:.15rem;display:flex}nav.svelte-1uha8ag .nav-link,.foot.svelte-1uha8ag .foot-link{color:var(--ink-mute);font-size:.95rem}.intro.svelte-1uha8ag{max-width:100%;margin-bottom:clamp(2.75rem,7vw,4rem);animation:.75s cubic-bezier(.22,1,.36,1) both svelte-1uha8ag-rise}@media (prefers-reduced-motion:reduce){.intro.svelte-1uha8ag{animation:none}}.badge-wrap.svelte-1uha8ag{margin:0 0 1.15rem}#hello.svelte-1uha8ag,#experience.svelte-1uha8ag,#projects.svelte-1uha8ag,#also.svelte-1uha8ag{scroll-margin-top:1.25rem}.intro.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--ink-soft);margin:0 0 1rem;font-size:1.02rem;line-height:1.7}.keep.svelte-1uha8ag{white-space:nowrap}.intro.svelte-1uha8ag p:where(.svelte-1uha8ag):last-child{margin-bottom:0}.tiles.svelte-1uha8ag{flex-wrap:wrap;gap:.45rem;margin:1.35rem 0 0;padding:0;list-style:none;display:flex}.tiles.svelte-1uha8ag li:where(.svelte-1uha8ag){isolation:isolate;letter-spacing:.01em;border-radius:.45rem;font-size:.84rem;font-weight:700;line-height:1.25;position:relative;overflow:hidden}.tile-base.svelte-1uha8ag,.tile-alt.svelte-1uha8ag{padding:.32rem .65rem;display:block}.tile-base.svelte-1uha8ag{background:color-mix(in srgb, var(--haze) 12%, white);color:color-mix(in srgb, var(--haze) 72%, #1c2433)}.tile-alt.svelte-1uha8ag{background:color-mix(in srgb, var(--haze-alt) 14%, white);color:color-mix(in srgb, var(--haze-alt) 72%, #1c2433);opacity:0;animation:tint-shift var(--tint-duration) ease-in-out infinite;position:absolute;inset:0}.tile-3.svelte-1uha8ag{background:color-mix(in srgb, var(--haze-3) 14%, white);color:color-mix(in srgb, var(--haze-3) 72%, #1c2433);animation-name:tint-shift-b}@media (prefers-reduced-motion:reduce){.tile-alt.svelte-1uha8ag{opacity:.35;animation:none}.tile-3.svelte-1uha8ag{opacity:0}}.tools-label.svelte-1uha8ag{color:var(--ink-faint);letter-spacing:-.01em;margin:1.35rem 0 0;font-size:.9rem;font-weight:600}.tiles.tools.svelte-1uha8ag{margin-top:.65rem}.block.svelte-1uha8ag{margin-bottom:clamp(2.75rem,7vw,4rem)}.exp.svelte-1uha8ag{min-width:0;max-width:100%}.exp-group.svelte-1uha8ag{flex-direction:column;gap:.7rem;display:flex}.roles.svelte-1uha8ag{border-left:1px solid var(--line);flex-direction:column;gap:.7rem;margin:0;padding:0 0 0 .85rem;list-style:none;display:flex}.roles.svelte-1uha8ag li:where(.svelte-1uha8ag){opacity:calc(1 - var(--fade,0));padding:0 0 0 .95rem;transition:opacity .2s}.roles.svelte-1uha8ag li:where(.svelte-1uha8ag):hover{opacity:1}.row.svelte-1uha8ag{align-items:baseline;gap:.75rem;display:flex}.org-row.svelte-1uha8ag{margin-bottom:0}.org.svelte-1uha8ag,a.org{color:var(--ink);letter-spacing:-.01em;flex:0 auto;font-size:1.05rem;font-weight:700}.role.svelte-1uha8ag{color:var(--ink-soft);letter-spacing:-.01em;flex:0 auto;font-size:.95rem;font-weight:600;line-height:1.35}.rule.svelte-1uha8ag{background:var(--line);flex:auto;min-width:1.5rem;height:1px;transform:translateY(-.35em)}.when.svelte-1uha8ag{color:var(--ink-mute);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.9rem}@media (width<=640px){.roles.svelte-1uha8ag{padding-left:.65rem}.row.svelte-1uha8ag{flex-wrap:wrap;gap:.2rem .75rem}.rule.svelte-1uha8ag{display:none}.when.svelte-1uha8ag{order:3;width:100%}}.work-block.svelte-1uha8ag{width:100%;max-width:100%}.work-inner.svelte-1uha8ag{width:100%;margin:0 auto}.work-head.svelte-1uha8ag{justify-content:flex-start;display:flex}.work-list.svelte-1uha8ag{flex-direction:column;gap:clamp(2.5rem,6vw,4rem);display:flex}.more-head.svelte-1uha8ag{justify-content:flex-start;margin:clamp(2.75rem,7vw,4rem) 0 1.25rem;display:flex}.more-list.svelte-1uha8ag{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.more-item.svelte-1uha8ag h3:where(.svelte-1uha8ag){letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:700}.more-item.svelte-1uha8ag p:where(.svelte-1uha8ag){color:var(--ink-mute);margin:.35rem 0 0;font-size:.95rem;line-height:1.5}.more-links.svelte-1uha8ag{flex-wrap:wrap;gap:.85rem 1.15rem;margin:.55rem 0 0;padding:0;font-size:.95rem;list-style:none;display:flex}@media (width<=719px){.work-list.svelte-1uha8ag{gap:2rem}.more-head.svelte-1uha8ag{margin-top:2.5rem;margin-bottom:.85rem}}.foot.svelte-1uha8ag{color:var(--ink-faint);justify-content:space-between;align-items:center;padding-top:.5rem;font-size:.9rem;display:flex}@keyframes svelte-1uha8ag-rise{0%{opacity:0}to{opacity:1}}@media (width<=560px){.top.svelte-1uha8ag{flex-direction:column;gap:1rem}}
