@media (width>=1024px) and (width<=1799px){body:has(.case-study) .content-wrapper{max-width:min(1100px,100vw - 3rem)}}.work-index-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-bottom:3.75rem;display:flex}.work-index-header h1{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:clamp(2.35rem,5.5vw,3.1rem);font-weight:200;line-height:1.12}.work-index-nav{font-family:var(--font-sans);color:var(--color-text-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:0;margin-left:auto;font-size:.875rem;line-height:1.4;display:flex}.work-index-nav a{color:inherit;border-bottom:1px solid color-mix(in srgb, currentColor 20%, transparent);padding-bottom:1px;text-decoration:none;transition:color .15s,border-color .15s}.work-index-nav a:hover,.work-index-nav a:focus-visible{color:var(--color-text);border-bottom-color:color-mix(in srgb, var(--color-text) 35%, transparent);text-decoration:none}.work-index-nav a:focus-visible{outline:2px solid var(--color-link);outline-offset:4px;border-radius:2px}.work-index-nav-sep{opacity:.35;user-select:none}@media (width<=540px){.work-index-nav{display:none}}.work-index-section{margin-bottom:4rem}.work-index-section:has(.work-projects){margin-bottom:6rem}.work-index-section:last-child{margin-bottom:0}.work-index-section-title{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:.55rem;margin:0 0 1.5rem;scroll-margin-top:1.5rem;font-size:.72rem;font-weight:600;line-height:1.4;display:flex}.work-index-section-title:has(+.work-index-section-lede){margin-bottom:.65rem}.work-index-section-lede{max-width:36rem;color:color-mix(in oklab, var(--color-text-muted) 88%, var(--color-text));margin:0 0 1.5rem;font-size:.9375rem;line-height:1.55}.work-preview-badge{letter-spacing:.05em;text-transform:uppercase;color:color-mix(in oklab, #d97706 58%, var(--color-text-muted));background:color-mix(in oklab, #fbbf24 11%, var(--color-bg));border:1px solid oklab(76.8591% .0560995 .154808/.24);border-radius:999px;align-items:center;padding:.2rem .45rem;font-size:.58rem;font-weight:600;line-height:1;display:inline-flex}html.dark .work-preview-badge{color:color-mix(in oklab, #fbbf24 78%, var(--color-text-muted));background:color-mix(in oklab, #f59e0b 10%, var(--color-bg));border-color:oklab(76.8591% .0560995 .154808/.2)}.work-projects{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.work-project{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:0;overflow:hidden}.work-project-layout{flex-direction:column;align-items:stretch;gap:0;height:100%;display:flex}.work-project-body{flex-direction:column;flex:1;min-width:0;padding:1rem 1.1rem 1.15rem;display:flex}.work-project-cta{font-family:var(--font-sans);color:var(--color-link);background:0 0;border:none;border-radius:0;align-items:center;gap:.35rem;margin-top:auto;padding:.75rem 0 0;font-size:.8125rem;font-weight:500;line-height:1.3;text-decoration:none;transition:color .15s;display:inline-flex}.work-project-cta:hover,.work-project-cta:focus-visible{color:var(--color-link-strong);text-decoration:none}.work-project-cta:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.work-project-cta-arrow{transition:transform .15s}.work-project-cta:hover .work-project-cta-arrow,.work-project-cta:focus-visible .work-project-cta-arrow{transform:translate(2px)}.work-project-media{background:var(--color-surface);border:none;border-radius:0;flex-shrink:0;order:-1;width:100%;min-width:0;text-decoration:none;transition:box-shadow .22s,background-color .22s;display:block;overflow:hidden;container-type:inline-size}.work-project-media:hover,.work-project-media:focus-visible{background:color-mix(in oklab, var(--color-surface) 82%, var(--color-bg-elevated));box-shadow:0 16px 40px color-mix(in oklab, var(--color-link) 18%, transparent);text-decoration:none}.work-project-media:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.work-project-media img{aspect-ratio:16/10;object-fit:cover;object-position:top center;width:100%;height:auto;display:block}.work-project-media-placeholder{aspect-ratio:16/10;background:var(--color-code-bg)}.work-project-media img,.work-project-media-placeholder,.work-project-media .lt-teaser,.work-project-media .dt-teaser,.work-project-media .pn-teaser{aspect-ratio:16/10}.work-project-media:has(.lt-teaser),.work-project-media:has(.dt-teaser),.work-project-media:has(.pn-teaser){display:flex}.work-project-media .lt-teaser,.work-project-media .dt-teaser,.work-project-media .pn-teaser{--teaser-shell-height:10.75em}.lt-teaser__shell,.dt-teaser__shell,.pn-teaser__shell{height:var(--teaser-shell-height)}.work-project-media .lt-teaser{box-sizing:border-box;aspect-ratio:16/10;background:color-mix(in oklab, var(--color-code-bg) 28%, var(--color-bg));flex-direction:column;flex:1;justify-content:center;align-items:stretch;width:100%;padding:4%;font-size:clamp(9px,7.75cqw,13px);transition:background-color .22s;display:flex}.work-project-media:hover .lt-teaser,.work-project-media:focus-visible .lt-teaser,.work-project-media:hover .dt-teaser,.work-project-media:focus-visible .dt-teaser,.work-project-media:hover .pn-teaser,.work-project-media:focus-visible .pn-teaser{background:color-mix(in oklab, var(--color-code-bg) 52%, var(--color-bg))}.lt-teaser{--lt-text:#393a3d;--lt-text-muted:#6b6c72;--lt-border:#d4d7dc;--lt-bg:#fff;--lt-surface-muted:#f4f5f7;--lt-surface-subtle:#fafbfc;--lt-primary:#0077c5;--lt-shell-bg:color-mix(in oklab, var(--color-bg-elevated) 50%, color-mix(in oklab, var(--color-surface) 34%, var(--color-bg)));--lt-badge-muted-bg:var(--lt-text);--lt-badge-muted-text:var(--lt-bg);--lt-badge-review-bg:color-mix(in oklab, #f59e0b 14%, var(--lt-bg));--lt-badge-review-text:#9a3412}html.dark .lt-teaser{--lt-text:var(--color-text);--lt-text-muted:var(--color-text-muted);--lt-border:var(--color-border);--lt-bg:color-mix(in oklab, var(--color-code-bg) 78%, var(--color-bg));--lt-surface-muted:color-mix(in oklab, var(--color-code-bg) 58%, var(--color-bg));--lt-surface-subtle:color-mix(in oklab, var(--color-code-bg) 48%, var(--color-bg));--lt-primary:var(--color-link);--lt-shell-bg:color-mix(in oklab, var(--color-code-bg) 55%, var(--color-bg));--lt-badge-muted-bg:color-mix(in oklab, var(--lt-text-muted) 12%, var(--lt-bg));--lt-badge-muted-text:var(--lt-text-muted);--lt-badge-review-bg:color-mix(in oklab, #d97706 10%, var(--lt-bg));--lt-badge-review-text:color-mix(in oklab, #fbbf24 48%, var(--lt-text))}.lt-teaser__shell{background:var(--lt-shell-bg);width:100%;max-height:100%;box-shadow:var(--shadow-soft);border-radius:10px;flex-direction:column;flex:none;padding:.9em;transition:box-shadow .22s;display:flex}.work-project-media:hover .lt-teaser__shell,.work-project-media:focus-visible .lt-teaser__shell,.work-project-media:hover .dt-teaser__shell,.work-project-media:focus-visible .dt-teaser__shell,.work-project-media:hover .pn-teaser__shell,.work-project-media:focus-visible .pn-teaser__shell{box-shadow:0 14px 36px color-mix(in oklab, var(--color-link) 14%, transparent)}.lt-teaser__table{border:1px solid var(--lt-border);background:var(--lt-bg);border-radius:6px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.lt-teaser__thead,.lt-teaser__row{grid-template-columns:1fr auto;align-items:center;gap:.65em;display:grid}.lt-teaser__thead{background:var(--lt-surface-muted);border-bottom:1px solid var(--lt-border);flex-shrink:0;padding:.8em .75em}.lt-teaser__th{background:color-mix(in oklab, var(--lt-text-muted) 22%, transparent);border-radius:999px;height:.5em;display:block}.lt-teaser__th--wide{width:46%}.lt-teaser__row{border-bottom:1px solid var(--lt-border);flex:1;min-height:2.65em;padding:.75em}.lt-teaser__row:last-child{border-bottom:0}.lt-teaser__line{background:color-mix(in oklab, var(--lt-text-muted) 28%, transparent);border-radius:999px;height:.5em;display:block}.lt-teaser__line--title{width:88%}.lt-teaser__line--short{width:62%}.lt-teaser__badge{border-radius:999px;width:2.2em;height:.8em;display:block}.lt-teaser__badge--muted{background:var(--lt-badge-muted-bg);opacity:.82}.lt-teaser__badge--review{background:var(--lt-badge-review-bg);border:1px solid color-mix(in oklab, #f59e0b 32%, var(--lt-border))}.work-project-media .dt-teaser{box-sizing:border-box;aspect-ratio:16/10;background:color-mix(in oklab, var(--color-code-bg) 28%, var(--color-bg));flex-direction:column;flex:1;justify-content:center;align-items:stretch;width:100%;padding:4%;font-size:clamp(9px,7.75cqw,13px);transition:background-color .22s;display:flex;position:relative}.dt-teaser{--dt-text:#393a3d;--dt-text-muted:#6b6c72;--dt-border:#d4d7dc;--dt-bg:#fff;--dt-surface-muted:#f4f5f7;--dt-primary:#0077c5;--dt-accent:#2ca01c;--dt-neutral:#6b6c72;--dt-shell-bg:color-mix(in oklab, var(--color-bg-elevated) 50%, color-mix(in oklab, var(--color-surface) 34%, var(--color-bg)))}html.dark .dt-teaser{--dt-text:var(--color-text);--dt-text-muted:var(--color-text-muted);--dt-border:var(--color-border);--dt-bg:color-mix(in oklab, var(--color-code-bg) 78%, var(--color-bg));--dt-surface-muted:color-mix(in oklab, var(--color-code-bg) 58%, var(--color-bg));--dt-primary:var(--color-link);--dt-accent:color-mix(in oklab, #4ade80 55%, var(--color-link));--dt-neutral:color-mix(in oklab, var(--color-text-muted) 70%, var(--color-bg));--dt-shell-bg:color-mix(in oklab, var(--color-code-bg) 55%, var(--color-bg))}.dt-teaser__badge{z-index:1;pointer-events:none;position:absolute;top:1em;right:1em}.dt-teaser__shell{background:var(--dt-shell-bg);width:100%;max-height:100%;box-shadow:var(--shadow-soft);border-radius:10px;flex-direction:column;flex:none;gap:.85em;padding:.9em;transition:box-shadow .22s;display:flex}.dt-teaser__card{border:1px solid var(--dt-border);background:var(--dt-bg);border-radius:6px;flex-direction:column;flex:1;gap:.65em;width:100%;min-height:0;padding:.75em;display:flex}.dt-teaser__label{background:color-mix(in oklab, var(--dt-text-muted) 22%, transparent);border-radius:999px;width:38%;height:.5em;display:block}.dt-teaser__palette{flex:1;gap:.5em;min-height:0;display:flex}.dt-teaser__swatch{border:1px solid color-mix(in oklab, var(--dt-border) 80%, transparent);border-radius:4px;display:block}.dt-teaser__swatch--hero{background:var(--dt-primary);flex:42%;min-height:4.5em}.dt-teaser__palette-grid{flex:1;grid-template-columns:1fr 1fr;gap:.4em;min-width:0;display:grid}.dt-teaser__palette-grid .dt-teaser__swatch{width:100%;height:100%;min-height:2em}.dt-teaser__swatch--primary{background:color-mix(in oklab, var(--dt-primary) 72%, var(--dt-bg))}.dt-teaser__swatch--neutral{background:var(--dt-neutral)}.dt-teaser__swatch--accent{background:var(--dt-accent)}.dt-teaser__swatch--muted{background:color-mix(in oklab, var(--dt-text-muted) 28%, var(--dt-bg))}.work-project-media .pn-teaser{box-sizing:border-box;aspect-ratio:16/10;background:color-mix(in oklab, var(--color-code-bg) 28%, var(--color-bg));flex-direction:column;flex:1;justify-content:center;align-items:stretch;width:100%;padding:4%;font-size:clamp(9px,7.75cqw,13px);transition:background-color .22s;display:flex}.pn-teaser{--pn-text:#393a3d;--pn-text-muted:#6b6c72;--pn-border:#d4d7dc;--pn-bg:#fff;--pn-surface-muted:#f4f5f7;--pn-surface-subtle:#fafbfc;--pn-primary:#0077c5;--pn-shell-bg:color-mix(in oklab, var(--color-bg-elevated) 50%, color-mix(in oklab, var(--color-surface) 34%, var(--color-bg)));--dt-accent:#2ca01c;--dt-border:var(--pn-border)}html.dark .pn-teaser{--pn-text:var(--color-text);--pn-text-muted:var(--color-text-muted);--pn-border:var(--color-border);--pn-bg:color-mix(in oklab, var(--color-code-bg) 78%, var(--color-bg));--pn-surface-muted:color-mix(in oklab, var(--color-code-bg) 58%, var(--color-bg));--pn-surface-subtle:color-mix(in oklab, var(--color-code-bg) 48%, var(--color-bg));--pn-primary:var(--color-link);--pn-shell-bg:color-mix(in oklab, var(--color-code-bg) 55%, var(--color-bg));--dt-accent:color-mix(in oklab, #4ade80 55%, var(--color-link));--dt-border:var(--pn-border)}.pn-teaser__shell{background:var(--pn-shell-bg);width:100%;min-height:0;max-height:100%;box-shadow:var(--shadow-soft);border-radius:10px;flex-direction:column;flex:none;padding:.9em;transition:box-shadow .22s;display:flex}.pn-teaser__app{border:1px solid var(--pn-border);background:var(--pn-bg);border-radius:6px;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.pn-teaser__nav{border-right:1px solid var(--pn-border);background:var(--pn-surface-subtle);flex-direction:column;flex:0 0 30%;gap:.65em;padding:.7em .5em;display:flex}.pn-teaser__brand{border-bottom:1px solid color-mix(in oklab, var(--pn-border) 80%, transparent);align-items:center;gap:.45em;padding:0 .15em .35em;display:flex}.pn-teaser__profile{border-radius:4px;flex-shrink:0;width:1.15em;height:1.15em;min-height:0}.pn-teaser__brand-line{background:color-mix(in oklab, var(--pn-text-muted) 24%, transparent);border-radius:999px;flex:1;height:.5em;display:block}.pn-teaser__nav-items{flex-direction:column;gap:.28em;display:flex}.pn-teaser__nav-item{border-radius:5px;align-items:center;gap:.35em;padding:.38em .35em;display:flex}.pn-teaser__nav-icon{background:color-mix(in oklab, var(--pn-text-muted) 22%, transparent);border-radius:3px;flex-shrink:0;width:.85em;height:.85em}.pn-teaser__nav-label{background:color-mix(in oklab, var(--pn-text-muted) 24%, transparent);border-radius:999px;flex:1;height:.45em;display:block}.pn-teaser__nav-label--wide,.pn-teaser__nav-label--short{flex:0 auto}.pn-teaser__nav-label--wide{width:88%}.pn-teaser__nav-label--short{width:58%}.pn-teaser__main{background:var(--pn-bg);flex-direction:column;flex:1;min-width:0;display:flex}.pn-teaser__main-header{border-bottom:1px solid var(--pn-border);background:var(--pn-surface-muted);justify-content:space-between;align-items:center;gap:.5em;padding:.65em .75em;display:flex}.pn-teaser__header-line{background:color-mix(in oklab, var(--pn-text-muted) 22%, transparent);border-radius:999px;height:.5em;display:block}.pn-teaser__header-line--title{width:38%}.pn-teaser__header-line--action{background:var(--pn-primary);border-radius:3px;width:1.6em;height:.85em}.pn-teaser__main-body{flex-direction:column;flex:1;gap:.45em;padding:.65em .75em;display:flex}.pn-teaser__block{background:color-mix(in oklab, var(--pn-text-muted) 12%, var(--pn-surface-muted));border-radius:4px;height:.65em;display:block}.pn-teaser__block--hero{background:color-mix(in oklab, var(--pn-primary) 8%, var(--pn-surface-muted));border:1px solid color-mix(in oklab, var(--pn-primary) 18%, var(--pn-border));flex:1;height:auto;min-height:2.4em}.pn-teaser__block--short{width:88%}.work-project-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-text);align-items:center;gap:.4rem;margin:0 0 .45rem;font-size:1.2rem;font-weight:400;line-height:1.3;display:flex}.work-project-lock{width:.9rem;height:.9rem;color:var(--color-text-muted);flex-shrink:0}.work-project-summary{font-family:var(--font-sans);color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:none;margin:0;font-size:.8125rem;line-height:1.45;display:-webkit-box;overflow:hidden}@media (width>=640px){.work-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;display:grid}.work-project-title{margin-bottom:.35rem;font-size:1.05rem}}@media (width>=1024px){.work-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem}.work-project-body{padding:.9rem 1rem 1.05rem}.work-project-title{font-size:1rem}}.work-link-list{margin:0;padding:0;list-style:none}.work-link-item{border-bottom:1px solid var(--color-border)}.work-link-item:first-child .work-link-card{padding-top:0}.work-link-card{color:inherit;flex-direction:row;align-items:center;gap:1.25rem;padding:1.35rem 0;text-decoration:none;display:flex}a.work-link-card:hover{text-decoration:none}a.work-link-card:hover .work-link-title{color:var(--color-link)}a.work-link-card:hover .work-link-media{border-color:color-mix(in srgb, var(--color-link) 35%, var(--color-border))}.work-link-body{flex:1;min-width:0}.work-link-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-text);margin:0 0 .35rem;font-size:1.15rem;font-weight:400;line-height:1.3;transition:color .15s}.work-link-venue{font-family:var(--font-sans);color:var(--color-text-muted);margin:0;font-size:.8rem;line-height:1.45}.work-link-media{border:1px solid var(--color-border);background:var(--color-code-bg);border-radius:10px;flex-shrink:0;width:5.5rem;height:5.5rem;transition:border-color .2s;overflow:hidden}.work-link-media img{object-fit:cover;width:100%;height:100%;display:block}.work-link-media--icon{justify-content:center;align-items:center;display:flex}.work-link-media-icon{width:1.75rem;height:1.75rem;color:var(--color-text-muted);opacity:.55}@media (width>=640px){.work-link-card{grid-template-columns:1fr 6.5rem;gap:1.5rem;display:grid}.work-link-media{width:6.5rem;height:6.5rem}}@media (width<=639px){.work-link-card{flex-direction:column-reverse;align-items:stretch}.work-link-media{aspect-ratio:16/7;width:100%;height:auto}}html.dark .work-project{border-color:color-mix(in srgb, var(--color-border) 38%, transparent)}html.dark .work-link-item{border-bottom-color:color-mix(in srgb, var(--color-border) 38%, transparent)}html.dark .work-link-media{border-color:color-mix(in srgb, var(--color-border) 42%, transparent)}html.dark .work-project-media:hover,html.dark .work-project-media:focus-visible{background:color-mix(in oklab, var(--color-code-bg) 38%, var(--color-bg));box-shadow:0 16px 40px oklab(0% none none/.48)}html.dark .work-project-media:hover .lt-teaser__shell,html.dark .work-project-media:focus-visible .lt-teaser__shell,html.dark .work-project-media:hover .dt-teaser__shell,html.dark .work-project-media:focus-visible .dt-teaser__shell,html.dark .work-project-media:hover .pn-teaser__shell,html.dark .work-project-media:focus-visible .pn-teaser__shell{box-shadow:0 14px 36px oklab(0% none none/.55)}@media (width<=639px){.work-project-layout{flex-direction:column;gap:1rem}.work-project-media{order:-1;align-self:stretch;width:100%;max-width:none}.work-project-media img,.work-project-media-placeholder,.work-project-media .lt-teaser,.work-project-media .dt-teaser,.work-project-media .pn-teaser{aspect-ratio:16/9}}.case-study{margin-bottom:4rem}.case-hero{max-width:46rem;margin-bottom:2.5rem}.case-hero-title{letter-spacing:-.02em;margin:0 0 1.25rem;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:400;line-height:1.2}.case-hero-meta{color:var(--color-text-muted);margin:0;font-size:.8rem;line-height:1.6}.case-intro{margin-bottom:0}.case-intro-divider{background:color-mix(in srgb, var(--color-border) 50%, transparent);border:0;height:1px;margin:clamp(2.5rem,5vw,3.5rem) 0 0}.case-study-main{margin-top:clamp(2rem,4vw,2.75rem);position:relative}.case-study-body>.toc{display:none}.case-toc-wrap{width:200px;height:100%;position:absolute;top:0;right:0}.case-toc{height:100%}.case-toc-list{margin:0;padding:0;list-style:none;position:sticky;top:60px}.case-toc-list>li{margin-bottom:.75rem;padding-left:0;line-height:1.4}.case-toc-list a{color:var(--color-text-muted);font-size:14px;font-weight:400;text-decoration:none;display:block}.case-toc-list a:hover{color:var(--color-text)}.case-toc-list a.is-active{color:var(--color-text);font-weight:600}@media screen and (width<=1060px){.case-toc-wrap{display:none}}.case-intro-layout{grid-template-columns:1fr;align-items:start;gap:1rem 2rem;display:grid}@media (width>=720px){.case-intro-layout{grid-template-columns:1fr 2fr;gap:2rem 3rem}}.case-intro-main{flex-direction:column;gap:2rem;min-width:0;display:flex}.case-intro-main .case-metrics{margin-bottom:0}.case-intro-context{color:var(--color-text);margin:0;font-size:1rem;line-height:1.65}.case-intro-heading{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--color-text);margin:0;font-size:1.2rem;font-weight:400;line-height:1.3}@media (width>=720px){.case-intro-heading{padding-top:.15rem}}.case-intro-media{margin:0}.case-intro-media img{border:1px solid var(--color-border);border-radius:8px;width:100%;height:auto;display:block}@media (width>=900px){.case-intro-media{margin-left:calc(-1*min(6vw,3rem));margin-right:calc(-1*min(6vw,3rem))}}.case-tldr{margin-bottom:0}.case-tldr-list{margin:0}.case-tldr-item{border-top:1px solid color-mix(in srgb, var(--color-border) 55%, transparent);grid-template-columns:6.5rem 1fr;gap:1.25rem 2rem;margin:0;padding:1rem 0;display:grid}.case-tldr-item:first-child{border-top:0;padding-top:0}.case-tldr-item dt{color:var(--color-text-muted);margin:0;font-size:.85rem;font-weight:600}.case-tldr-item dd{color:var(--color-text);margin:0;font-size:.95rem;line-height:1.55}@media (width<=520px){.case-tldr-item{grid-template-columns:1fr;gap:.35rem;padding:.85rem 0}.case-tldr-item:first-child{padding-top:0}}.case-tldr--simple .case-tldr-simple-list{margin:0;padding-left:1.2rem}.case-tldr--simple li{margin-bottom:.4rem;line-height:1.55}.case-metrics{margin-bottom:3rem}.case-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:1rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.case-metric{flex-direction:column;gap:.2rem;display:flex}.case-metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2rem);font-weight:400;line-height:1.1}.case-metric-label{color:var(--color-text-muted);text-transform:capitalize;font-size:.8rem}.case-study-body.prose{max-width:42rem}@media (width>=900px){.case-study-body.prose{max-width:650px}}.case-section{margin-top:3.5rem;scroll-margin-top:4.5rem}.case-section:first-child{margin-top:0}.prose.case-study-body .case-section-label{color:var(--color-text-muted);margin:0 0 1rem;font-size:.85rem;font-weight:600}.prose.case-study-body .case-section-title{letter-spacing:-.01em;margin:0 0 2.5rem;padding-top:0;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:400;line-height:1.25}.case-section-body>:first-child{margin-top:0}.case-study-body>h2{letter-spacing:-.01em;margin-top:3.5rem;padding-top:0;font-size:clamp(1.35rem,3vw,1.75rem)}.case-study-body>h2:first-child{margin-top:0}.case-study-body ol:not(.demo-try-steps),.case-section-body ol:not(.demo-try-steps){counter-reset:case-step;margin:1.5rem 0;padding:0;list-style:none}.case-study-body ol:not(.demo-try-steps)>li,.case-section-body ol:not(.demo-try-steps)>li{counter-increment:case-step;margin-bottom:1rem;padding-left:2.75rem;line-height:1.55;position:relative}.case-study-body ol:not(.demo-try-steps)>li:before,.case-section-body ol:not(.demo-try-steps)>li:before{content:counter(case-step, decimal-leading-zero);font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:.85rem;position:absolute;top:0;left:0}.case-callout{border-left:3px solid var(--color-link);background:var(--color-code-bg);border-radius:0 8px 8px 0;margin:1.75rem 0;padding:1.1rem 1.25rem}html:not(.dark) .case-callout{background:var(--color-bg-elevated)}.case-callout-label{color:var(--color-link);margin:0 0 .5rem;font-size:.85rem;font-weight:600}.case-callout-body{color:color-mix(in oklab, var(--color-text-muted) 90%, var(--color-text));font-size:.875rem;line-height:1.55}.case-callout-body>:last-child{margin-bottom:0}.case-callout-body>:first-child{margin-top:0}.case-callout-body>ul{margin:0;padding:0;list-style:none}.case-callout-body>ul>li{margin-bottom:.5rem;padding-left:1rem;position:relative}.case-callout-body>ul>li:last-child{margin-bottom:0}.case-callout-body>ul>li:before{content:"·";color:color-mix(in oklab, var(--color-text-muted) 55%, transparent);position:absolute;top:0;left:0}.case-callout-body>ul>li strong{color:color-mix(in oklab, var(--color-text-muted) 42%, var(--color-text));font-weight:600}.case-study-other{text-align:right;margin:0}.case-study-other-label{color:color-mix(in oklab, var(--color-text-muted) 88%, var(--color-text))}.case-figure{margin:2rem 0}.case-figure__media{width:fit-content;max-width:100%;display:block;position:relative}.case-figure__media:has(.case-figure__nda){width:min(100%, var(--figure-display-width,100%));border:1px solid var(--color-border);border-radius:6px;line-height:0;display:block;overflow:hidden}.case-figure__media:has(.case-figure__nda) img{border:0;border-radius:0;width:100%;height:auto;display:block}.case-figure--peek .case-figure__media{width:100%}.case-figure--peek .case-figure__media:has(.case-figure__nda){width:min(100%, var(--figure-display-width,100%))}.case-figure__nda{z-index:1;font-family:var(--font-sans);letter-spacing:.12em;color:#fff;pointer-events:none;user-select:none;white-space:nowrap;background:oklab(34.8601% .000117928 -.00535563/.94);border-radius:999px;padding:.45rem 1.05rem .45rem calc(1.05rem + .06em);font-size:.6875rem;font-weight:600;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 14px #0003}.case-figure img{width:min(100%, var(--figure-display-width,100%));border:1px solid var(--color-border);border-radius:6px;max-width:100%;height:auto;display:block}.case-figure figcaption{letter-spacing:.01em;color:color-mix(in oklab, var(--color-text-muted) 88%, var(--color-text));margin-top:.75rem;font-size:.8125rem;font-style:italic;font-weight:400;line-height:1.55}.case-figure--peek figcaption{text-align:left;max-width:28em;margin-inline:0}.case-figure--peek{max-width:var(--figure-display-width,var(--figure-native-width,28rem));margin-inline:0}.case-figure--peek .case-figure__viewport{border:1px solid var(--color-border);border-radius:6px;max-height:min(20rem,50vh);position:relative;overflow:hidden}.case-figure--peek .case-figure__viewport:has(.case-figure__nda){line-height:0}.case-figure--peek .case-figure__viewport:has(.case-figure__nda) img{border:0;border-radius:0;width:100%}.case-figure--peek img{width:min(100%, var(--figure-display-width,var(--figure-native-width,100%)));max-width:var(--figure-display-width,var(--figure-native-width,none));border:0;border-radius:0;height:auto;margin-inline:0;display:block}@media (width>=900px){.figure--wide{max-width:none;margin-left:calc(-1*min(8vw,4rem));margin-right:calc(-1*min(8vw,4rem))}}.prose.case-study-body .case-section-body .mermaid-figure{margin-top:1.75rem;margin-bottom:5rem}.mermaid-diagram{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:1.5rem 1.25rem;overflow-x:auto;box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.4)}.mermaid-diagram__canvas{justify-content:center;min-height:8rem;display:flex}.mermaid-diagram__canvas svg{max-width:100%;height:auto;display:block}.mermaid-diagram__canvas svg .node .label{color:var(--mermaid-node-text)}.mermaid-diagram__canvas svg .edgeLabel .label{color:var(--mermaid-edge-label-text)}.mermaid-diagram__canvas svg .cluster-label .nodeLabel{color:var(--mermaid-subgraph-title);fill:var(--mermaid-subgraph-title)}.mermaid-diagram__canvas svg g.node.lightMode>rect,.mermaid-diagram__canvas svg g.node.lightMode>polygon{fill:var(--mermaid-c-light-bg)!important;stroke:var(--mermaid-c-light-border)!important}.mermaid-diagram__canvas svg g.node.lightMode .nodeLabel,.mermaid-diagram__canvas svg g.node.lightMode .label,.mermaid-diagram__canvas svg g.node.lightMode .nodeLabel tspan,.mermaid-diagram__canvas svg g.node.lightMode foreignObject,.mermaid-diagram__canvas svg g.node.lightMode foreignObject div,.mermaid-diagram__canvas svg g.node.lightMode foreignObject span,.mermaid-diagram__canvas svg g.node.lightMode foreignObject p{color:var(--mermaid-c-light-text)!important;fill:var(--mermaid-c-light-text)!important}.mermaid-diagram__canvas svg g.node.darkMode>rect,.mermaid-diagram__canvas svg g.node.darkMode>polygon{fill:var(--mermaid-c-dark-bg)!important;stroke:var(--mermaid-c-dark-border)!important}.mermaid-diagram__canvas svg g.node.darkMode .nodeLabel,.mermaid-diagram__canvas svg g.node.darkMode .label,.mermaid-diagram__canvas svg g.node.darkMode .nodeLabel tspan,.mermaid-diagram__canvas svg g.node.darkMode foreignObject,.mermaid-diagram__canvas svg g.node.darkMode foreignObject div,.mermaid-diagram__canvas svg g.node.darkMode foreignObject span,.mermaid-diagram__canvas svg g.node.darkMode foreignObject p{color:var(--mermaid-c-dark-text)!important;fill:var(--mermaid-c-dark-text)!important}.mermaid-diagram__canvas svg g.node.sourceNode>rect,.mermaid-diagram__canvas svg g.node.sourceNode>polygon{fill:var(--mermaid-c-source-bg)!important;stroke:var(--mermaid-c-source-border)!important}.mermaid-diagram__canvas svg g.node.sourceNode .nodeLabel,.mermaid-diagram__canvas svg g.node.sourceNode .label,.mermaid-diagram__canvas svg g.node.sourceNode foreignObject span{color:var(--mermaid-c-source-text)!important;fill:var(--mermaid-c-source-text)!important}.mermaid-diagram__canvas svg g.node.hubNode>rect,.mermaid-diagram__canvas svg g.node.hubNode>polygon{fill:var(--mermaid-c-hub-bg)!important;stroke:var(--mermaid-c-hub-border)!important}.mermaid-diagram__canvas svg g.node.hubNode .nodeLabel,.mermaid-diagram__canvas svg g.node.hubNode .label,.mermaid-diagram__canvas svg g.node.hubNode foreignObject span{color:var(--mermaid-c-hub-text)!important;fill:var(--mermaid-c-hub-text)!important}.mermaid-diagram__canvas svg g.node.platformWeb>rect,.mermaid-diagram__canvas svg g.node.platformWeb>polygon{fill:var(--mermaid-c-web-bg)!important;stroke:var(--mermaid-c-web-border)!important}.mermaid-diagram__canvas svg g.node.platformWeb .nodeLabel,.mermaid-diagram__canvas svg g.node.platformWeb .label,.mermaid-diagram__canvas svg g.node.platformWeb foreignObject span{color:var(--mermaid-c-web-text)!important;fill:var(--mermaid-c-web-text)!important}.mermaid-diagram__canvas svg g.node.platformIos>rect,.mermaid-diagram__canvas svg g.node.platformIos>polygon{fill:var(--mermaid-c-ios-bg)!important;stroke:var(--mermaid-c-ios-border)!important}.mermaid-diagram__canvas svg g.node.platformIos .nodeLabel,.mermaid-diagram__canvas svg g.node.platformIos .label,.mermaid-diagram__canvas svg g.node.platformIos foreignObject span{color:var(--mermaid-c-ios-text)!important;fill:var(--mermaid-c-ios-text)!important}.mermaid-diagram__canvas svg g.node.platformAndroid>rect,.mermaid-diagram__canvas svg g.node.platformAndroid>polygon{fill:var(--mermaid-c-android-bg)!important;stroke:var(--mermaid-c-android-border)!important}.mermaid-diagram__canvas svg g.node.platformAndroid .nodeLabel,.mermaid-diagram__canvas svg g.node.platformAndroid .label,.mermaid-diagram__canvas svg g.node.platformAndroid foreignObject span{color:var(--mermaid-c-android-text)!important;fill:var(--mermaid-c-android-text)!important}.mermaid-diagram__canvas svg g.node.accentNode>rect,.mermaid-diagram__canvas svg g.node.accentNode>polygon{fill:var(--mermaid-c-accent-bg)!important;stroke:var(--mermaid-c-accent-border)!important}.mermaid-diagram__canvas svg g.node.accentNode .nodeLabel,.mermaid-diagram__canvas svg g.node.accentNode .label,.mermaid-diagram__canvas svg g.node.accentNode foreignObject span{color:var(--mermaid-c-accent-text)!important;fill:var(--mermaid-c-accent-text)!important}.mermaid-diagram__canvas svg g.node.attentionNode>rect,.mermaid-diagram__canvas svg g.node.attentionNode>polygon{fill:var(--mermaid-c-attention-bg)!important;stroke:var(--mermaid-c-attention-border)!important}.mermaid-diagram__canvas svg g.node.attentionNode .nodeLabel,.mermaid-diagram__canvas svg g.node.attentionNode .label,.mermaid-diagram__canvas svg g.node.attentionNode foreignObject span{color:var(--mermaid-c-attention-text)!important;fill:var(--mermaid-c-attention-text)!important}.mermaid-diagram__canvas svg g.node.infoNode>rect,.mermaid-diagram__canvas svg g.node.infoNode>polygon{fill:var(--mermaid-c-info-bg)!important;stroke:var(--mermaid-c-info-border)!important}.mermaid-diagram__canvas svg g.node.infoNode .nodeLabel,.mermaid-diagram__canvas svg g.node.infoNode .label,.mermaid-diagram__canvas svg g.node.infoNode foreignObject span{color:var(--mermaid-c-info-text)!important;fill:var(--mermaid-c-info-text)!important}.mermaid-diagram__canvas svg g.node.mutedNode>rect,.mermaid-diagram__canvas svg g.node.mutedNode>polygon{fill:var(--mermaid-c-muted-bg)!important;stroke:var(--mermaid-c-muted-border)!important}.mermaid-diagram__canvas svg g.node.mutedNode .nodeLabel,.mermaid-diagram__canvas svg g.node.mutedNode .label,.mermaid-diagram__canvas svg g.node.mutedNode foreignObject span{color:var(--mermaid-c-muted-text)!important;fill:var(--mermaid-c-muted-text)!important}.mermaid-diagram__canvas svg g.node.desktopNode>rect,.mermaid-diagram__canvas svg g.node.desktopNode>polygon{fill:var(--mermaid-c-desktop-bg)!important;stroke:var(--mermaid-c-desktop-border)!important}.mermaid-diagram__canvas svg g.node.desktopNode .nodeLabel,.mermaid-diagram__canvas svg g.node.desktopNode .label,.mermaid-diagram__canvas svg g.node.desktopNode foreignObject span{color:var(--mermaid-c-desktop-text)!important;fill:var(--mermaid-c-desktop-text)!important}.mermaid-diagram__canvas svg g.node.mobileNode>rect,.mermaid-diagram__canvas svg g.node.mobileNode>polygon{fill:var(--mermaid-c-mobile-bg)!important;stroke:var(--mermaid-c-mobile-border)!important}.mermaid-diagram__canvas svg g.node.mobileNode .nodeLabel,.mermaid-diagram__canvas svg g.node.mobileNode .label,.mermaid-diagram__canvas svg g.node.mobileNode foreignObject span{color:var(--mermaid-c-mobile-text)!important;fill:var(--mermaid-c-mobile-text)!important}.mermaid-diagram__canvas svg g.cluster[id*=DEFAULT]>rect{fill:var(--mermaid-c-cluster-default-bg)!important;stroke:var(--mermaid-c-cluster-default-border)!important}.mermaid-diagram__canvas svg g.cluster[id*=PRODUCT]>rect{fill:var(--mermaid-c-cluster-product-bg)!important;stroke:var(--mermaid-c-cluster-product-border)!important}.mermaid-figure__caption{letter-spacing:.01em;color:color-mix(in oklab, var(--color-text-muted) 88%, var(--color-text));text-align:center;margin:.75rem 0 0;max-width:36em;margin-inline:auto;font-size:.8125rem;font-style:italic;font-weight:400;line-height:1.55}@media (width>=900px){.mermaid-figure--wide{max-width:none;margin-left:calc(-1*min(8vw,4rem));margin-right:calc(-1*min(8vw,4rem))}.mermaid-figure--wide .mermaid-diagram{padding:1.75rem 1.5rem}}html:not(.dark) .mermaid-diagram{background:linear-gradient(180deg, color-mix(in oklab, var(--color-bg-elevated) 92%, #fff) 0%, color-mix(in oklab, var(--mermaid-subgraph-bg) 55%, var(--color-bg-elevated)) 100%)}html.dark .mermaid-diagram{background:linear-gradient(180deg, color-mix(in oklab, var(--color-code-bg) 78%, var(--color-bg)) 0%, color-mix(in oklab, var(--mermaid-subgraph-bg) 65%, var(--color-bg)) 100%);box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.06)}.demo-try-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);margin:1.25rem 0 .75rem;font-size:.72rem;font-weight:600}.case-section-body ol.demo-try-steps{counter-reset:case-step;margin:0 0 .75rem;padding:0;list-style:none}.case-section-body ol.demo-try-steps>li{counter-increment:case-step;color:color-mix(in oklab, var(--color-text-muted) 90%, var(--color-text));margin-bottom:.15rem;padding-left:2.5rem;font-size:.875rem;line-height:1.35;position:relative}.case-section-body ol.demo-try-steps>li:last-child{margin-bottom:0}.case-section-body ol.demo-try-steps>li:before{content:counter(case-step, decimal-leading-zero);font-variant-numeric:tabular-nums;color:color-mix(in oklab, var(--color-text-muted) 70%, transparent);font-size:.75rem;position:absolute;top:0;left:0}.case-section-body ol.demo-try-steps strong{color:color-mix(in oklab, var(--color-text-muted) 55%, var(--color-text));font-weight:600}.case-section-body>p:has(>strong:only-child){letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);margin:1.35rem 0 .45rem;font-size:.72rem;font-weight:600}.case-section-body>p:has(>strong:only-child):first-child{margin-top:0}.case-section-body>p:has(>strong:only-child) strong{font-weight:inherit;color:inherit}.case-section-body>p:has(>strong:only-child)+p{margin-top:0}.case-section-body>ul+p:has(>strong:only-child),.case-section-body>p:not(:has(>strong:only-child))+p:has(>strong:only-child){margin-top:2.25rem}.case-section-body>p:not(:has(>strong:only-child)){margin:0 0 .65rem;line-height:1.6}.case-section-body>p:not(:has(>strong:only-child)):last-child{margin-bottom:0}.case-section-body>p:not(:has(>strong:only-child))+ul{margin-top:.15rem}.case-section-body>ul{margin:0 0 .85rem 1.35rem;padding:0;list-style:none}.case-section-body>ul>li{font-size:inherit;color:color-mix(in oklab, var(--color-text-muted) 92%, var(--color-text));margin-bottom:.4rem;padding-left:1.125rem;line-height:1.5;position:relative}.case-section-body>ul>li:last-child{margin-bottom:0}.case-section-body>ul>li:before{content:"·";color:color-mix(in oklab, var(--color-text-muted) 55%, transparent);position:absolute;top:0;left:0}.case-section-body>ul>li strong{color:color-mix(in oklab, var(--color-text-muted) 42%, var(--color-text));font-weight:600}.demo-landing-table.demo-stage{min-height:420px;box-shadow:none;background:0 0;border:0;padding:0}html.dark .demo-landing-table.demo-stage{box-shadow:none;background:0 0;border-color:#0000}.demo-design-tokens.demo-stage{min-height:420px;box-shadow:none;background:0 0;border:0;padding:0}html.dark .demo-design-tokens.demo-stage{box-shadow:none;background:0 0;border-color:#0000}.demo-product-navigation.demo-stage{min-height:320px;box-shadow:none;background:0 0;border:0;padding:0}html.dark .demo-product-navigation.demo-stage{box-shadow:none;background:0 0;border-color:#0000}.prose.case-study-body .demo-product-navigation .pn-demo-main h2.pn-demo-main__title{letter-spacing:-.01em;color:var(--color-text,#393a3d);margin:.6rem 0 0;padding-top:0;font-size:.9375rem;font-weight:400}html.dark .prose.case-study-body .demo-product-navigation .pn-demo-main h2.pn-demo-main__title{color:var(--color-text);font-weight:400}.prose.case-study-body .demo-product-navigation .pn-demo ul>li{color:inherit;line-height:inherit;margin-bottom:0;padding-left:0;position:static}.prose.case-study-body .demo-product-navigation .pn-demo ul>li:before{content:none;display:none}.demo-block{overflow-anchor:none;margin:2rem 0 2.5rem}.demo-stage{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);margin:2.25rem 0 1.5rem;padding:1.25rem 1.25rem 1.5rem;box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.4)}html.dark .demo-stage{background:linear-gradient(180deg, color-mix(in oklab, var(--color-code-bg) 78%, var(--color-bg)) 0%, color-mix(in oklab, var(--color-bg-elevated) 92%, var(--color-bg)) 100%);box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.06)}.demo-block .device-frame{max-width:100%}.case-section-body .demo-block.demo-stage:has(+.demo-try-label){margin-bottom:0}.case-section-body .demo-block+.demo-try-label{margin-top:2.25rem;margin-bottom:1.25rem}.media-placeholder{margin:2rem 0}.media-placeholder__frame,.media-placeholder__panel{border:1px dashed color-mix(in srgb, var(--color-border) 85%, var(--color-link));background:var(--color-code-bg);border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative}html:not(.dark) .media-placeholder__frame,html:not(.dark) .media-placeholder__panel{background:var(--color-bg-elevated)}.media-placeholder__frame{aspect-ratio:16/10}.media-placeholder--demo .media-placeholder__frame{aspect-ratio:16/11;min-height:22rem}.media-placeholder__pair{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.media-placeholder__panel{aspect-ratio:4/3;flex-direction:column;gap:.5rem;min-height:10rem}.media-placeholder__panel-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;font-weight:600}.media-placeholder__type{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--color-link) 70%, var(--color-text-muted));border:1px solid color-mix(in srgb, var(--color-link) 25%, var(--color-border));background:color-mix(in srgb, var(--color-link) 6%, var(--color-bg));border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.media-placeholder--image .media-placeholder__type{letter-spacing:.01em;text-transform:none;font-size:.8125rem}.media-placeholder__caption{letter-spacing:.01em;color:color-mix(in oklab, var(--color-text-muted) 88%, var(--color-text));flex-direction:column;gap:.35rem;margin-top:.75rem;font-size:.8125rem;font-style:italic;font-weight:400;line-height:1.55;display:flex}.media-placeholder__note{color:color-mix(in oklab, var(--color-text-muted) 88%, var(--color-text));font-size:.8125rem;font-style:italic;font-weight:400}@media (width<=640px){.media-placeholder__pair{grid-template-columns:1fr}}.demo-shell-light{color-scheme:light}html.dark .demo-shell-light{--color-bg:#fff;--color-surface:#f3f4f8;--color-border:#d5d8e2;--color-text:#393a3d;--color-text-muted:#6b7280}html.dark .demo-shell-light .device-frame{background:#f3f4f8;border-color:#d5d8e2;box-shadow:0 2px 16px #00000047,0 0 0 1px #ffffff0a}html.dark .demo-shell-light .device-chrome{background:#eef0f5;border-bottom-color:#d5d8e2}html.dark .demo-shell-light .device-dots span{background:#c5cad6}html.dark .demo-shell-light .device-title{color:#6b7280}html.dark .demo-shell-light .device-screen{background:#fff}
