.case-toc-layer{position:absolute;inset:0;z-index:10;display:grid;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:var(--grid-gutter);padding-inline:var(--grid-margin);pointer-events:none}.case-toc{position:sticky;top:50dvh;grid-column:1 / 3;align-self:start;min-width:0;max-height:calc(100dvh - 2 * var(--spacing-3xl));overflow-y:auto;transform:translateY(-50%);pointer-events:auto;scrollbar-width:none}.case-toc::-webkit-scrollbar,.case-toc__list::-webkit-scrollbar{display:none}.case-toc__list{display:flex;flex-direction:column;align-items:stretch;row-gap:var(--spacing-md);column-gap:0;width:100%}.case-toc__list-item{min-width:0}.case-toc__item{display:flex;align-items:center;width:100%;min-width:0;padding:0;border:0;appearance:none;background:transparent;color:var(--color-muted);text-align:left;overflow-wrap:anywhere;cursor:pointer;transition:color .16s ease,font-size .2s ease-in,line-height .2s ease-in,font-weight .2s ease-in}.case-toc__item.is-active{transition:color .16s ease,font-size .25s ease-out,line-height .25s ease-out,font-weight .25s ease-out}.case-toc-layer.is-resizing .case-toc__item{transition:color .16s ease,font-weight .2s ease-in}.case-toc-layer.is-resizing .case-toc__item.is-active{transition:color .16s ease,font-weight .25s ease-out}.case-toc__item.is-active,.case-toc__item:not(.is-active):hover,.case-toc__item:not(.is-active):focus-visible{color:var(--color-fg)}.case-toc__item:focus-visible{border-radius:var(--spacing-xs)}@media(max-width:1279px){.case-toc-layer{z-index:110;opacity:1;transition:opacity var(--header-menu-transition) ease-out}body:has(.top-header.is-menu-revealed) .case-toc-layer{opacity:0}.case-toc{top:calc(var(--case-toc-header-bottom, var(--header-height)) - var(--spacing-sm));grid-column:1 / -1;max-height:none;margin-inline:calc(-1 * var(--grid-margin));overflow:visible;transform:none}.case-toc__list{flex-direction:row;align-items:center;row-gap:0;column-gap:var(--spacing-xl);overflow-x:auto;overscroll-behavior-x:contain;padding-block:var(--spacing-sm);padding-inline:var(--grid-margin);scroll-padding-inline:var(--grid-margin);scrollbar-width:none}.case-toc__list-item{flex:0 0 auto;max-width:80vw}.case-toc__item{width:auto;transition:color .16s ease,font-weight .2s ease-in}.case-toc__item:not(.is-active){color:color-mix(in srgb,var(--color-muted) 85%,var(--color-fg) 15%)}.case-toc__item.is-active{transition:color .16s ease,font-weight .25s ease-out}}@media(prefers-reduced-motion:reduce){.case-toc-layer,.case-toc__item,.case-toc__item.is-active{transition:none}}.case-page[data-astro-cid-nbxxkhtm]{position:relative;display:grid;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:var(--grid-gutter);row-gap:0;min-height:100dvh;padding:calc(var(--header-height) + var(--case-gap-section)) var(--grid-margin) var(--case-gap-section)}.case-heading[data-astro-cid-nbxxkhtm],.case-cover[data-astro-cid-nbxxkhtm],.case-meta[data-astro-cid-nbxxkhtm],.case-content[data-astro-cid-nbxxkhtm]{grid-column:3 / -1}.case-heading[data-astro-cid-nbxxkhtm]{display:grid;grid-template-columns:subgrid;align-items:flex-start;column-gap:var(--grid-gutter);row-gap:0}.case-back[data-astro-cid-nbxxkhtm],.case-title[data-astro-cid-nbxxkhtm]{grid-column:1 / -1}.case-back[data-astro-cid-nbxxkhtm]{display:inline-flex;align-items:center;gap:var(--spacing-md);color:var(--color-fg);white-space:nowrap}.case-title[data-astro-cid-nbxxkhtm]{width:100%;margin-block-start:var(--case-gap-tight);overflow-wrap:normal}.case-description[data-astro-cid-nbxxkhtm]{grid-column:1 / -1;width:100%;margin-block-start:var(--case-gap-flow)}.case-cover[data-astro-cid-nbxxkhtm]{position:relative;width:100%;overflow:clip;background-color:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:1.2rem;margin-block-start:var(--case-gap-media)}.case-meta[data-astro-cid-nbxxkhtm]{display:grid;grid-template-columns:subgrid;column-gap:var(--grid-gutter);row-gap:var(--spacing-xl);width:100%;margin-block-start:var(--case-gap-group)}.case-cover[data-astro-cid-nbxxkhtm]+.case-meta[data-astro-cid-nbxxkhtm]{margin-block-start:var(--case-gap-media)}.case-meta__item[data-astro-cid-nbxxkhtm]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);min-width:0;overflow-wrap:break-word}.case-meta__item[data-astro-cid-nbxxkhtm] dt[data-astro-cid-nbxxkhtm]{color:var(--color-muted);line-height:2.4rem}.case-meta__item--company[data-astro-cid-nbxxkhtm],.case-meta__item--role[data-astro-cid-nbxxkhtm]{grid-column:1 / span 3}.case-meta__item--domain[data-astro-cid-nbxxkhtm]{grid-column:4 / span 3}.case-meta__item--period[data-astro-cid-nbxxkhtm]{grid-column:7 / span 3}.case-meta__item--team[data-astro-cid-nbxxkhtm]{grid-column:4 / span 6}.case-team[data-astro-cid-nbxxkhtm]{display:flex;flex-wrap:wrap;column-gap:.25em}.case-team[data-astro-cid-nbxxkhtm] li[data-astro-cid-nbxxkhtm]{display:inline-flex;min-width:0}.case-team[data-astro-cid-nbxxkhtm] li[data-astro-cid-nbxxkhtm]>span[data-astro-cid-nbxxkhtm],.case-team[data-astro-cid-nbxxkhtm] li[data-astro-cid-nbxxkhtm]:after{font:inherit}.case-team[data-astro-cid-nbxxkhtm] li[data-astro-cid-nbxxkhtm]:not(:last-child):after{content:","}.case-team__count[data-astro-cid-nbxxkhtm]{margin-inline-start:.25em;color:var(--color-muted)}.case-content[data-astro-cid-nbxxkhtm]{display:grid;grid-template-columns:subgrid;align-items:stretch;column-gap:var(--grid-gutter);row-gap:0;width:100%;margin-block-start:var(--case-gap-group);padding-bottom:var(--case-toc-bottom-reserve, 0px);overflow:clip}@media(min-width:1280px){.case-title[data-astro-cid-nbxxkhtm],.case-description[data-astro-cid-nbxxkhtm]{grid-column:1 / span 8}}@media(max-width:1279px){.case-page[data-astro-cid-nbxxkhtm]{padding-block-start:calc(var(--header-height) + var(--case-gap-section) + var(--case-gap-tight))}.case-heading[data-astro-cid-nbxxkhtm],.case-cover[data-astro-cid-nbxxkhtm],.case-meta[data-astro-cid-nbxxkhtm],.case-content[data-astro-cid-nbxxkhtm]{grid-column:1 / -1}.case-meta[data-astro-cid-nbxxkhtm]{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-xl)}.case-meta__item--company[data-astro-cid-nbxxkhtm],.case-meta__item--domain[data-astro-cid-nbxxkhtm],.case-meta__item--period[data-astro-cid-nbxxkhtm],.case-meta__item--role[data-astro-cid-nbxxkhtm]{grid-column:auto}.case-meta__item--team[data-astro-cid-nbxxkhtm]{grid-column:2 / span 2}.case-meta__item[data-astro-cid-nbxxkhtm] dt[data-astro-cid-nbxxkhtm]{line-height:20px}}@media(max-width:639px){.case-title[data-astro-cid-nbxxkhtm]{font-size:clamp(32px,10vw,40px);line-height:1.2;letter-spacing:-.01em}.case-meta[data-astro-cid-nbxxkhtm]{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--case-gap-group);column-gap:var(--spacing-xl)}.case-meta__item--team[data-astro-cid-nbxxkhtm]{grid-column:1 / -1}}.case-content>*{grid-column:1 / -1;margin-block:0}.case-content .case-prose{display:flex;flex-direction:column;grid-column:1 / -1;row-gap:var(--case-gap-flow);min-width:0}.case-content .case-stack{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;column-gap:var(--grid-gutter);row-gap:var(--case-stack-gap, var(--case-gap-flow));width:100%;min-width:0}.case-content .case-stack>*{grid-column:1 / -1}.case-content .case-stack[data-gap=tight]{--case-stack-gap: var(--case-gap-tight)}.case-content .case-stack[data-gap=flow]{--case-stack-gap: var(--case-gap-flow)}.case-content .case-stack[data-gap=group]{--case-stack-gap: var(--case-gap-group)}.case-content .case-stack[data-gap=media]{--case-stack-gap: var(--case-gap-media)}.case-content .case-stack[data-gap=section]{--case-stack-gap: var(--case-gap-section)}.case-content .case-list{padding-inline-start:var(--spacing-2xl);list-style:disc}.case-content .case-list>li+li{margin-block-start:var(--spacing-md)}@media(min-width:1280px){.case-content>p,.case-content .case-prose{margin-inline:0 calc((100% + var(--grid-gutter)) / 5)}}.case-content>*+*{margin-block-start:var(--case-gap-section)}.case-content>:is(h2,h3):is(.text-display,.text-h1)+*{margin-block-start:var(--case-gap-flow)}.case-content>*+h2.text-display{margin-block-start:var(--case-gap-chapter)}.case-content>:is(p,ul,ol)+:is(p,ul,ol){margin-block-start:var(--case-gap-flow)}.case-content>:is(p,ul,ol,.case-prose)+:is(figure,picture,img,video),.case-content>:is(figure,picture,img,video)+:is(p,ul,ol,.case-prose){margin-block-start:var(--case-gap-media)}
