article.svelte-1ntrexv{min-width:0}.card-link.svelte-1ntrexv{height:100%;color:var(--color-fg);text-decoration:none;display:grid}.media.svelte-1ntrexv{aspect-ratio:16/10;background:var(--color-canvas-soft);overflow:hidden}.media.svelte-1ntrexv img,.media.svelte-1ntrexv video{object-fit:cover;width:100%;height:100%;transition:transform .5s}.card-copy.svelte-1ntrexv{padding:1.25rem 3rem 1.75rem 0;position:relative}.arrow.svelte-1ntrexv{font-size:1.35rem;transition:transform .2s;position:absolute;top:1.2rem;right:0}h3.svelte-1ntrexv{max-width:27ch;font-family:var(--font-serif);letter-spacing:-.025em;margin:0;font-size:clamp(1.4rem,2.125vw,2.125rem);font-style:italic;font-weight:600;line-height:1.08}.description.svelte-1ntrexv{color:var(--color-ink-soft);font-size:var(--font-size-16);margin:1rem 0 0;line-height:1.55}.organization.svelte-1ntrexv{color:var(--color-body);font-size:var(--font-size-12);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .55rem;font-weight:700;line-height:1.3}ul.svelte-1ntrexv{flex-wrap:wrap;gap:.4rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.tool-badge.svelte-1ntrexv{background:color-mix(in srgb, currentColor 9%, transparent);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;border:2px solid;border-radius:999px;align-items:center;padding:.2rem .62rem .16rem;font-size:.66rem;font-weight:800;line-height:1.15;display:inline-flex}.tool-badge--d3.svelte-1ntrexv{color:var(--color-blue)}.tool-badge--javascript.svelte-1ntrexv{color:var(--color-purple)}.tool-badge--r.svelte-1ntrexv{color:var(--color-magenta)}.tool-badge--svelte.svelte-1ntrexv{color:var(--color-orange)}.tool-badge--figma.svelte-1ntrexv{color:var(--color-yellow)}.tool-badge--rough.svelte-1ntrexv{color:var(--color-teal)}.tool-badge--qgis.svelte-1ntrexv{color:var(--color-green)}.tool-badge--highcharts.svelte-1ntrexv{color:var(--color-red)}.tool-badge--flourish.svelte-1ntrexv{color:var(--color-blue-supporting)}.tool-badge--moustache.svelte-1ntrexv,.tool-badge--default.svelte-1ntrexv{color:var(--color-grey-dark)}.research.svelte-1ntrexv h3:where(.svelte-1ntrexv){font-size:clamp(1.2rem,1.7vw,1.7rem)}@media (hover:hover){.card-link.svelte-1ntrexv:hover .media:where(.svelte-1ntrexv) img,.card-link.svelte-1ntrexv:hover .media:where(.svelte-1ntrexv) video{transform:scale(1.025)}.card-link.svelte-1ntrexv:hover .arrow:where(.svelte-1ntrexv){transform:translate(.2rem,-.2rem)}}@media (prefers-reduced-motion:reduce){.media.svelte-1ntrexv img,.media.svelte-1ntrexv video,.arrow.svelte-1ntrexv{transition:none}}.page-shell.svelte-xk8jcg{width:min(100%, var(--content-width));padding-inline:var(--page-gutter);margin-inline:auto}.hero.svelte-xk8jcg{max-width:66rem;padding-block:clamp(5rem,10vw,9rem)}.role-statement.svelte-xk8jcg{font-family:var(--font-serif);letter-spacing:-.05em;flex-wrap:wrap;align-items:baseline;gap:0 .3em;margin:0;font-size:clamp(2.75rem,5.7vw,5.75rem);font-style:italic;font-weight:600;line-height:.95;display:flex}.role-statement__intro.svelte-xk8jcg{white-space:normal}.wave.svelte-xk8jcg{letter-spacing:normal;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:.82em;font-style:normal;font-weight:400;line-height:1;display:inline-block;transform:translateY(-.03em)}.role-rotator.svelte-xk8jcg{color:var(--color-blue);display:inline-grid}.role-rotator__word.svelte-xk8jcg{opacity:0;grid-area:1/1;animation:9s infinite svelte-xk8jcg-role-cycle;transform:translateY(.35em)}.role-rotator__word.svelte-xk8jcg:nth-child(2){animation-delay:3s}.role-rotator__word.svelte-xk8jcg:nth-child(3){animation-delay:6s}.pronunciation.svelte-xk8jcg{color:var(--color-body);font-size:var(--font-size-14);margin:0 0 1.25rem}.purpose.svelte-xk8jcg{max-width:64rem;margin:2rem 0 0;font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.55}.work-section.svelte-xk8jcg{border-top:1px solid var(--color-hairline);padding-block:clamp(4rem,8vw,8rem)}.section-heading.svelte-xk8jcg{max-width:58rem;margin-bottom:clamp(3rem,6vw,6rem)}.section-heading.svelte-xk8jcg p:where(.svelte-xk8jcg){font-size:var(--font-size-12);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.25rem;font-weight:700}h2.svelte-xk8jcg{font-family:var(--font-serif);letter-spacing:-.04em;margin:0 0 1.25rem;font-size:clamp(2.35rem,4.85vw,4.875rem);font-style:italic;font-weight:600;line-height:.95}.section-heading.svelte-xk8jcg div:where(.svelte-xk8jcg){max-width:50rem;color:var(--color-ink-soft);font-size:clamp(1.125rem,1.5vw,1.3125rem);line-height:1.55}.story-grid.svelte-xk8jcg{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,7vw,7rem) clamp(1.5rem,4vw,4rem);display:grid}.research-grid.svelte-xk8jcg{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(3rem,6vw,5rem) clamp(1.25rem,3vw,3rem);display:grid}@media (width<=58rem){.research-grid.svelte-xk8jcg{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=40rem){.role-statement.svelte-xk8jcg{display:block}.role-rotator.svelte-xk8jcg{width:100%;margin-top:.15em;display:grid}.story-grid.svelte-xk8jcg,.research-grid.svelte-xk8jcg{grid-template-columns:1fr}}@keyframes svelte-xk8jcg-role-cycle{0%,28%{opacity:1;transform:translateY(0)}33%,95%{opacity:0;transform:translateY(-.35em)}96%,to{opacity:0;transform:translateY(.35em)}}@media (prefers-reduced-motion:reduce){.role-rotator__word.svelte-xk8jcg{opacity:0;animation:none;transform:none}.role-rotator__word.svelte-xk8jcg:first-child{opacity:1}}
