.particle-wave.svelte-1fc6gnw{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:none;z-index:0;display:block}.map.svelte-10mk7tm{--ink: #3d00ec;--leg: calc(var(--u-base) * 3);--slot: 3.5s;--loop: calc(var(--slot) * 8);position:absolute;inset:0;pointer-events:none}.map__frame.svelte-10mk7tm{position:absolute;inset:0;border:1px solid var(--ink);border-radius:var(--radius-md)}.conn.svelte-10mk7tm{position:absolute;inline-size:var(--run);block-size:0}.conn--right.svelte-10mk7tm{inset-inline-start:var(--at)}.conn--left.svelte-10mk7tm{inset-inline-end:calc(100% - var(--at))}.conn--top.svelte-10mk7tm{inset-block-start:0}.conn--bottom.svelte-10mk7tm{inset-block-start:100%}.conn__leg.svelte-10mk7tm,.conn__run.svelte-10mk7tm{position:absolute;background:var(--ink)}.conn__leg.svelte-10mk7tm{inline-size:1px;block-size:var(--leg);animation:svelte-10mk7tm-grow-leg var(--loop) var(--ease-phi) calc(var(--i) * var(--slot)) infinite both}.conn--right.svelte-10mk7tm .conn__leg:where(.svelte-10mk7tm){inset-inline-start:0}.conn--left.svelte-10mk7tm .conn__leg:where(.svelte-10mk7tm){inset-inline-end:0}.conn--top.svelte-10mk7tm .conn__leg:where(.svelte-10mk7tm){inset-block-end:0;transform-origin:bottom}.conn--bottom.svelte-10mk7tm .conn__leg:where(.svelte-10mk7tm){inset-block-start:0;transform-origin:top}.conn__run.svelte-10mk7tm{inline-size:100%;block-size:1px;animation:svelte-10mk7tm-grow-run var(--loop) var(--ease-phi) calc(var(--i) * var(--slot)) infinite both}.conn--top.svelte-10mk7tm .conn__run:where(.svelte-10mk7tm){inset-block-end:var(--leg)}.conn--bottom.svelte-10mk7tm .conn__run:where(.svelte-10mk7tm){inset-block-start:var(--leg)}.conn--right.svelte-10mk7tm .conn__run:where(.svelte-10mk7tm){inset-inline-start:0;transform-origin:left}.conn--left.svelte-10mk7tm .conn__run:where(.svelte-10mk7tm){inset-inline-end:0;transform-origin:right}.conn__label.svelte-10mk7tm{position:absolute;padding:0 var(--space-2);border:1px solid var(--ink);border-radius:var(--radius-full);background:#fff;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-xs);line-height:calc(var(--u-base) * 4.5);white-space:nowrap;animation:svelte-10mk7tm-show-label var(--loop) var(--ease-phi) calc(var(--i) * var(--slot)) infinite both}.conn--top.svelte-10mk7tm .conn__label:where(.svelte-10mk7tm){inset-block-end:var(--leg);translate:0 50%}.conn--bottom.svelte-10mk7tm .conn__label:where(.svelte-10mk7tm){inset-block-start:var(--leg);translate:0 -50%}.conn--right.svelte-10mk7tm .conn__label:where(.svelte-10mk7tm){inset-inline-start:100%}.conn--left.svelte-10mk7tm .conn__label:where(.svelte-10mk7tm){inset-inline-end:100%}@keyframes svelte-10mk7tm-grow-leg{0%{scale:1 0;opacity:1}2%{scale:1 1}10.5%{opacity:1}12.5%,to{scale:1 1;opacity:0}}@keyframes svelte-10mk7tm-grow-run{0%,2%{scale:0 1;opacity:1}5%{scale:1 1}10.5%{opacity:1}12.5%,to{scale:1 1;opacity:0}}@keyframes svelte-10mk7tm-show-label{0%,5%{opacity:0}6.5%,10.5%{opacity:1}12.5%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.conn.svelte-10mk7tm{display:none}}.page.svelte-1uha8ag{--color-primary: #3d00ec;--color-primary-hover: #2d00b3;--color-text: #192348;--color-text-muted: #4d5774;--color-line: rgba(0, 0, 0, .06);--color-bg: #f6f9fc;--max-width: 1080px;--gutter: 24px;--section-container-border: 1px solid rgb(229, 237, 245);display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg)}@media(min-width:670px){.page.svelte-1uha8ag{--gutter: 32px}}@media(min-width:880px){.page.svelte-1uha8ag{--gutter: 48px}}@media(min-width:1080px){.page.svelte-1uha8ag{--gutter: 64px}}.hero.svelte-1uha8ag{position:relative;overflow:hidden;border-block-end:var(--section-container-border);background:var(--color-surface)}.hero.svelte-1uha8ag .hero__particles{position:absolute;inset:0 0 0 13.25%;width:100%!important;height:100%!important;transform:none;-webkit-mask-image:linear-gradient(100deg,transparent 0%,rgb(0 0 0 / 35%) 22%,#000 70%);mask-image:linear-gradient(100deg,transparent 0%,rgb(0 0 0 / 35%) 22%,#000 70%)}.main.svelte-1uha8ag{flex:1}.section__layout.svelte-1uha8ag{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;max-width:var(--max-width);margin:0 auto;padding:var(--gutter) var(--space-8);border-inline:var(--section-container-border)}.section__content.svelte-1uha8ag{display:flex;flex-direction:column;gap:var(--space-8);z-index:1}.section__content.svelte-1uha8ag h1:where(.svelte-1uha8ag) sup:where(.svelte-1uha8ag){font-size:var(--text-3xl);line-height:0}.section__content.svelte-1uha8ag h1:where(.svelte-1uha8ag){font-size:calc(var(--u-base) * 28);line-height:calc(var(--u-base) * 30);mix-blend-mode:hard-light;color:#000effbf}.section__content.svelte-1uha8ag h1:where(.svelte-1uha8ag) abbr:where(.svelte-1uha8ag){text-decoration:none}.section__description.svelte-1uha8ag{font-size:var(--text-lg);line-height:var(--lead-lg);font-weight:500;color:var(--color-text-muted);max-width:30rem;text-shadow:0 0 20px rgba(255,255,255,.9),0 0 40px rgba(255,255,255,.7),0 0 60px rgba(255,255,255,.5)}.section__actions.svelte-1uha8ag{display:flex;align-items:center;gap:var(--space-4)}.section__actions.svelte-1uha8ag .btn-pill{border-radius:9999px}.section__visual.svelte-1uha8ag{position:relative;z-index:1;display:flex;justify-content:center;align-items:center}@media(max-width:1024px){.hero.svelte-1uha8ag .hero__particles{inset:0 0 0 46%;width:54%!important}}@media(max-width:1024px){.section__layout.svelte-1uha8ag{grid-template-columns:1fr;text-align:center}.section__content.svelte-1uha8ag{align-items:center}.section__description.svelte-1uha8ag{max-width:600px}.section__visual.svelte-1uha8ag{order:-1}}@media(max-width:640px){.hero.svelte-1uha8ag .hero__particles{inset:0 auto auto 0;inline-size:46vh!important;block-size:100vw!important;transform-origin:0 0;transform:translateY(46vh) rotate(-90deg);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgb(0 0 0 / 35%) 30%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,rgb(0 0 0 / 35%) 30%,#000 100%)}.section__content.svelte-1uha8ag h1:where(.svelte-1uha8ag) sup:where(.svelte-1uha8ag){font-size:var(--text-xl);line-height:0}.section__content.svelte-1uha8ag h1:where(.svelte-1uha8ag){font-size:calc(var(--u-base) * 12);line-height:calc(var(--u-base) * 13)}.section__actions.svelte-1uha8ag{flex-direction:column;align-items:stretch;width:100%}}.section__aside.svelte-1uha8ag{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-primary)}.section__aside-cup.svelte-1uha8ag{inline-size:1.05em;block-size:1.05em;flex:none;vertical-align:middle}.work.svelte-1uha8ag{max-width:var(--max-width);margin:0 auto;padding:var(--space-8) var(--space-4) var(--space-10);border-inline:var(--section-container-border)}.work__label.svelte-1uha8ag{display:block;font-size:var(--text-sm);line-height:var(--lead-sm);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.work__head.svelte-1uha8ag{display:flex;align-items:baseline;justify-content:space-between;margin-block-end:var(--space-6)}.work__all.svelte-1uha8ag{font-size:var(--text-sm);color:var(--color-primary);text-decoration:none}.work__grid.svelte-1uha8ag{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-6)}.tile.svelte-1uha8ag{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--space-4);block-size:var(--tile-height, 22rem);padding:var(--space-6);overflow:hidden;background:var(--color-surface);border:1px solid rgb(229 237 245);text-decoration:none;color:inherit;transition:all var(--duration-stroke) var(--ease-phi)}.tile.svelte-1uha8ag:hover,.tile.svelte-1uha8ag:focus-visible{translate:var(--space-1) calc(-1 * var(--space-1))}.tile.svelte-1uha8ag:after{content:"";position:absolute;inset:0;z-index:4;padding:calc(var(--u-base) * .25);background:radial-gradient(34% 34% at var(--mx, 50%) var(--my, 0%),var(--color-primary, #3d00ec) 0%,color-mix(in oklab,var(--color-primary, #3d00ec) 55%,transparent) 45%,transparent 100%);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;opacity:0;transition:opacity var(--duration-slow, .34s) var(--ease-out, ease);pointer-events:none}.tile.svelte-1uha8ag:hover:after,.tile.svelte-1uha8ag:focus-visible:after{opacity:1}@media(prefers-reduced-motion:reduce){.tile.svelte-1uha8ag:after{transition:none}.tile.svelte-1uha8ag:hover,.tile.svelte-1uha8ag:focus-visible{translate:none}}.tile--study.svelte-1uha8ag{grid-column:span var(--tile-span, 2);--wash-a: oklch(.9 .08 270 / 85%);--wash-b: oklch(.93 .05 270 / 70%);--wash-at-a: 100% 0%;--wash-at-b: 0% 45%}.tile--study.svelte-1uha8ag:nth-child(3n+2){--wash-a: oklch(.91 .07 270 / 85%);--wash-b: oklch(.94 .04 270 / 70%);--wash-at-a: 0% 0%;--wash-at-b: 100% 35%}.tile--study.svelte-1uha8ag:nth-child(3n){--wash-a: oklch(.92 .06 270 / 80%);--wash-b: oklch(.9 .08 270 / 75%);--wash-at-a: 60% 0%;--wash-at-b: 100% 50%}.tile--study.svelte-1uha8ag:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(70% 60% at var(--wash-at-a),var(--wash-a),transparent 70%),radial-gradient(55% 50% at var(--wash-at-b),var(--wash-b),transparent 70%);pointer-events:none}.tile--study.svelte-1uha8ag{display:grid;grid-template-rows:auto 1fr;justify-content:stretch}.tile--study.svelte-1uha8ag .tile__shots:where(.svelte-1uha8ag){position:relative}.tile__globe.svelte-1uha8ag{position:absolute;inset:0 0 0 38.2%;z-index:0}.tile__head.svelte-1uha8ag,.tile--study.svelte-1uha8ag .tile__shots:where(.svelte-1uha8ag){position:relative;z-index:1}.tile__head.svelte-1uha8ag{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.tile__chip.svelte-1uha8ag{flex:none;display:grid;place-items:center;inline-size:2.5rem;block-size:2.5rem;border-radius:var(--radius-lg);background:#000eff14;color:#000eff;font-size:var(--text-sm);transition:all var(--duration-enter) var(--ease-phi)}.tile__arrow.svelte-1uha8ag{display:block;transition:all var(--duration-enter) var(--ease-phi),transform var(--duration-stroke) var(--ease-phi)}.tile.svelte-1uha8ag:hover .tile__chip:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-visible .tile__chip:where(.svelte-1uha8ag){background:#000eff;color:#ebecff}.tile.svelte-1uha8ag:hover .tile__arrow:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-visible .tile__arrow:where(.svelte-1uha8ag){transform:scale(1.3)}@media(prefers-reduced-motion:reduce){.tile__arrow.svelte-1uha8ag{transition:none}.tile.svelte-1uha8ag:hover .tile__arrow:where(.svelte-1uha8ag),.tile.svelte-1uha8ag:focus-visible .tile__arrow:where(.svelte-1uha8ag){transform:none}}.tile__shots.svelte-1uha8ag{min-height:0;pointer-events:none}.tile__shots--browser.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag),.tile__shots--bare.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){position:absolute;inset-block-start:var(--space-6);inset-inline:4% -22%}.tile__shot.svelte-1uha8ag{display:block;overflow:hidden;border-radius:var(--radius-xl) 0 0 0;background:#fff;box-shadow:0 24px 48px -12px #0c243838}.tile__shots--tablet.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){position:absolute;inset-block-start:var(--space-6);inset-inline:4% -22%;padding:calc(var(--u-base) * 1);border-radius:clamp(.45rem,1.5vw,1.35rem);background:var(--color-text);box-shadow:0 2px 6px #0c24383d,0 32px 56px -16px #0c243857}@media(min-width:880px){.tile__shots--tablet.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){padding:calc(var(--u-base) * 1.5)}}@media(min-width:1280px){.tile__shots--tablet.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){padding:calc(var(--u-base) * 2)}}.tile__shots--tablet.svelte-1uha8ag .tile__screen:where(.svelte-1uha8ag) img{border-radius:clamp(.3rem,1vw,.9rem)}.tile__shots--bare.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){background:none;box-shadow:none;border-radius:0;overflow:visible}.tile__shot.svelte-1uha8ag img{display:block;inline-size:100%;block-size:auto}.tile__shots--browser.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){padding:0 0 0 var(--space-2);background:#ffffff73;border:1px solid rgb(255 255 255 / 70%);border-inline-end:0;border-block-end:0;-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 24px 48px -12px #1923482e}.tile__shots--browser.svelte-1uha8ag .tile__screen:where(.svelte-1uha8ag){display:block;overflow:hidden;border-radius:var(--radius-md) 0 0 0;background:#fff;box-shadow:0 1px 3px #19234814}.tile__bar.svelte-1uha8ag{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-2)}.tile__dots.svelte-1uha8ag{inline-size:2.5rem;block-size:.5rem;background-image:radial-gradient(circle at center,rgb(25 35 72 / 16%) .25rem,transparent .25rem);background-size:.875rem 100%}.tile__url.svelte-1uha8ag{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-5);border-radius:var(--radius-full);background:#ffffffa6;font-size:var(--text-xs);line-height:calc(var(--u-base) * 5);color:var(--color-text-muted);white-space:nowrap}.tile__url.svelte-1uha8ag:before{content:"";inline-size:.625rem;block-size:.625rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 4V3a2 2 0 0 1 4 0v1h.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5zm1 0h2V3a1 1 0 0 0-2 0z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 4V3a2 2 0 0 1 4 0v1h.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5zm1 0h2V3a1 1 0 0 0-2 0z'/%3E%3C/svg%3E") center / contain no-repeat}.tile__shots--phone.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){position:absolute;inset-block-start:var(--space-6);inline-size:34%;padding:calc(var(--u-base) * .75);border-radius:clamp(.4rem,2.2vw,2rem);background:var(--color-text);box-shadow:0 2px 6px #0c24383d,0 32px 56px -16px #0c243857}@media(min-width:880px){.tile__shots--phone.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){padding:calc(var(--u-base) * 1.25)}}@media(min-width:1280px){.tile__shots--phone.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){padding:calc(var(--u-base) * 1.75)}}.tile__shots--phone.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag):nth-child(1){inset-inline-start:4%}.tile__shots--phone.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag):nth-child(2){inset-inline-start:42%;margin-block-start:var(--space-6)}.tile__shots--phone.svelte-1uha8ag .tile__screen:where(.svelte-1uha8ag) img{border-radius:clamp(.28rem,1.65vw,1.5rem)}.tile__body.svelte-1uha8ag{max-width:28rem}.tile__title.svelte-1uha8ag{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--lead-xl);color:var(--color-text)}.tile__note.svelte-1uha8ag{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:var(--lead-sm);color:var(--color-text-muted)}.tile--archive.svelte-1uha8ag{background:var(--color-bg);justify-content:space-between}.archive.svelte-1uha8ag{list-style:none;margin:var(--space-5) 0 0;padding:0;display:grid;gap:var(--space-3)}.tile--archive.svelte-1uha8ag{grid-column:span 2}.archive__row.svelte-1uha8ag{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-4);border-block-end:1px solid var(--color-line);padding-block-end:var(--space-3)}.archive__title.svelte-1uha8ag{flex:1 1 auto;min-inline-size:0}.archive__title.svelte-1uha8ag{color:var(--color-text);font-size:var(--text-sm);text-decoration:none}.archive__title.svelte-1uha8ag:hover{text-decoration:underline}.archive__role.svelte-1uha8ag{flex:0 1 auto;font-size:var(--text-xs);color:var(--color-text-muted);text-align:end;text-wrap:nowrap}.tile__more.svelte-1uha8ag{align-self:flex-start;font-size:var(--text-sm);color:var(--color-primary);text-decoration:none;border-block-end:1px solid currentcolor}@media(max-width:880px){.work__grid.svelte-1uha8ag{grid-template-columns:minmax(0,1fr)}.tile--study.svelte-1uha8ag,.tile--archive.svelte-1uha8ag{grid-column:auto}.tile.svelte-1uha8ag{block-size:auto;min-block-size:var(--tile-height, 22rem)}.tile__shots--browser.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag),.tile__shots--bare.svelte-1uha8ag .tile__shot:where(.svelte-1uha8ag){inset-inline-end:-8%}}
