.case-study__header[data-astro-cid-dclgxt4t]{display:flex;flex-direction:column}.case-study__subtitle[data-astro-cid-dclgxt4t]{margin:0 0 var(--sp-standard);font-family:var(--font-sans);font-size:var(--fs-base);color:var(--color-gray-700);line-height:var(--lh-relaxed)}.case-study__meta[data-astro-cid-dclgxt4t]{margin:0 0 var(--sp-comfortable);font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--color-gray-600)}.case-study__hero[data-astro-cid-5at72bbo]{margin-top:var(--sp-xl);margin-bottom:var(--sp-xl)}.case-study__hero[data-astro-cid-5at72bbo] img[data-astro-cid-5at72bbo]{display:block;width:100%;height:auto;border-radius:var(--post-border-radius);box-shadow:var(--box-shadow)}.case-study__summary-block[data-astro-cid-5byshaa3]{margin-bottom:0}.case-study-article.blog-typography :where(ul,ol){padding-left:1.75rem;margin-top:var(--rhythm-list-above);margin-bottom:var(--rhythm-list-below);line-height:var(--reading-line-height);font-weight:var(--fw-light)}.case-study-article.blog-typography li+li{margin-top:var(--rhythm-list-item)}.case-study-article.blog-typography li::marker{color:var(--color-cyan-600)}.case-study-article.blog-typography blockquote{padding:1.25rem 1.5rem;border-left:4px solid var(--color-cyan-600);background:#0891b20f;border-radius:.75rem;color:var(--color-gray-700);font-family:var(--font-body);font-weight:var(--fw-light);font-style:italic;margin-top:var(--rhythm-blockquote-above);margin-bottom:var(--rhythm-blockquote-below);line-height:var(--reading-line-height);font-size:1.05em}.case-study-article.blog-typography blockquote cite{display:block;margin-top:.75rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--fw-normal);font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-600);line-height:1.5}.case-study-article.blog-typography code{font-family:var(--font-mono);font-size:.9375em;background:#0891b20a;border:1px solid rgba(8,145,178,.1);border-radius:var(--radius-sm);padding:.15em .45em;line-height:inherit;color:var(--color-black);font-weight:var(--fw-normal)}.case-study-article.blog-typography pre{position:relative;padding:1.25rem;background:var(--reading-color-code-bg);border:1px solid rgba(8,145,178,.08);border-radius:var(--radius-md);color:#f1f5f9;font-family:var(--font-mono);font-size:.875rem;line-height:var(--lh-code);overflow-x:auto;box-shadow:0 2px 8px #0891b20f;margin-top:var(--rhythm-code-above);margin-bottom:var(--rhythm-code-below);font-weight:var(--fw-normal)}.case-study-article.blog-typography pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}.case-study-article.blog-typography hr{border:none;height:1px;width:clamp(32px,6vw,80px);margin:2.75em auto;background:linear-gradient(to right,transparent,rgba(8,145,178,.3),transparent);opacity:.8;position:relative}@media(max-width:640px){.case-study-article.blog-typography{font-size:clamp(1rem,1.5vw + .875rem,1.0625rem);line-height:var(--reading-line-height)}.case-study-article.blog-typography p+p{margin-top:var(--rhythm-paragraph-standard)}.case-study-article.blog-typography h1{margin-top:2rem;margin-bottom:1rem}.case-study-article.blog-typography h2{margin-top:2rem;margin-bottom:.875rem}.case-study-article.blog-typography h3{margin-top:1.5rem;margin-bottom:.75rem}.case-study-article.blog-typography h4{margin-top:1.25rem;margin-bottom:.625rem}.case-study-article.blog-typography :where(ul,ol){margin-top:.875rem;margin-bottom:.875rem}.case-study-article.blog-typography blockquote{margin-top:1.5rem;margin-bottom:1.5rem}.case-study-article.blog-typography pre{padding:1rem;margin-top:1.5rem;margin-bottom:1.5rem;border-radius:var(--radius-md)}.case-study-article.blog-typography hr{width:clamp(28px,5vw,64px);margin:2.5em auto}.case-study-article.blog-typography :where(h1,h2,h3,h4,h5,h6){scroll-margin-top:4.5rem}.case-study-article.blog-typography h1{font-size:clamp(1.5rem,4vw + .875rem,1.875rem);line-height:1.25}.case-study-article.blog-typography h2{font-size:clamp(1.375rem,3.5vw + .75rem,1.625rem);line-height:1.3}.case-study-article.blog-typography h3{font-size:clamp(1.25rem,3vw + .625rem,1.4375rem);line-height:1.35}.case-study-article.blog-typography h4{font-size:clamp(1.125rem,2.5vw + .5625rem,1.25rem);line-height:1.4}.case-study-article.blog-typography>h1:first-of-type{margin-top:1.25em;margin-bottom:.875em}.case-study-article.blog-typography p{line-height:1.65}.case-study-article.blog-typography p+p{margin-top:.75em}.case-study-article.blog-typography :where(ul,ol){padding-left:1.5rem;margin-top:1em;margin-bottom:.625em}.case-study-article.blog-typography li+li{margin-top:.375em}.case-study-article.blog-typography blockquote{padding:1rem 1.25rem;margin-top:1em;margin-bottom:1em;border-left-width:3px;line-height:1.65}.case-study-article.blog-typography blockquote cite{margin-top:.5rem;font-size:.75rem}.case-study-article.blog-typography code{font-size:.875em;padding:.125em .375em}.case-study-article.blog-typography pre{padding:1rem;font-size:.8125rem;line-height:1.6;margin-top:1em;margin-bottom:1em;overflow-x:auto;-webkit-overflow-scrolling:touch}.case-study-article.blog-typography hr{width:clamp(40px,8vw,80px);margin:2em auto}}.case-study__layout[data-astro-cid-ijfh6yez]{display:grid;grid-template-columns:minmax(0,var(--reading-content-max)) minmax(18rem,20rem);gap:var(--sp-xl);align-items:start;margin-top:var(--sp-lg);width:100%}@media(min-width:1025px){.case-study__layout[data-astro-cid-ijfh6yez]{gap:var(--sp-2xl)}}.case-study__content[data-astro-cid-ijfh6yez]{max-width:var(--reading-content-max);width:100%;min-width:0}.case-study-article[data-astro-cid-ijfh6yez]{width:100%}.case-study__sidebar[data-astro-cid-ijfh6yez]{position:sticky;top:clamp(5rem,10vh,6.5rem);align-self:start}.case-study__tldr[data-astro-cid-ijfh6yez]{border:1px solid rgba(8,145,178,.12);border-radius:var(--radius-lg);padding:var(--sp-comfortable);background:var(--color-cream);box-shadow:var(--box-shadow-sm);transition:box-shadow .2s ease,border-color .2s ease}.case-study__tldr[data-astro-cid-ijfh6yez]:hover{box-shadow:var(--box-shadow);border-color:#0891b22e}.case-study__tldr-label[data-astro-cid-ijfh6yez]{text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem;color:var(--color-cyan-600);font-weight:var(--fw-medium);font-family:var(--font-sans);margin:0 0 var(--sp-tight) 0;line-height:1.4}.case-study__tldr-intro[data-astro-cid-ijfh6yez]{font-family:var(--font-body);font-size:.9375rem;font-weight:var(--fw-normal);line-height:1.5;color:var(--color-gray-900);margin:0 0 var(--sp-standard) 0;padding:0}.case-study__tldr-intro[data-astro-cid-ijfh6yez] strong[data-astro-cid-ijfh6yez]{font-weight:var(--fw-medium);color:var(--color-gray-900)}.case-study__tldr-list[data-astro-cid-ijfh6yez]{list-style:none;padding:0;margin:0 0 var(--sp-standard) 0;display:flex;flex-direction:column;gap:var(--sp-tight)}.case-study__tldr-tech[data-astro-cid-ijfh6yez]{margin-top:var(--sp-standard);margin-bottom:var(--sp-lg);padding-top:var(--sp-standard);border-top:1px solid rgba(8,145,178,.12)}.case-study__tldr-tech-label[data-astro-cid-ijfh6yez]{font-family:var(--font-sans);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-cyan-600);font-weight:var(--fw-medium);margin:0 0 var(--sp-tight) 0;line-height:1.4}.case-study__tldr-tech-items[data-astro-cid-ijfh6yez]{font-family:var(--font-sans);font-size:.8125rem;line-height:1.7;color:var(--color-gray-800);margin:0;padding:0;letter-spacing:.01em;word-spacing:.05em;display:block}.case-study__tldr-list[data-astro-cid-ijfh6yez] li[data-astro-cid-ijfh6yez]{font-family:var(--font-sans);font-size:.875rem;line-height:1.6;color:var(--color-gray-900)!important;position:relative;padding-left:1.75rem}.case-study__tldr-list[data-astro-cid-ijfh6yez] li[data-astro-cid-ijfh6yez]:before{content:"—";position:absolute;left:0;color:var(--color-cyan-600);font-weight:var(--fw-normal);font-size:1em;line-height:inherit}.case-study__tldr-list[data-astro-cid-ijfh6yez] code[data-astro-cid-ijfh6yez]{font-family:var(--font-mono);font-size:.8125em;background:#0891b20f;border:1px solid rgba(8,145,178,.15);border-radius:var(--radius-sm);padding:.125em .375em;color:var(--color-gray-900);font-weight:var(--fw-normal);line-height:1.4}.case-study__tldr-links[data-astro-cid-ijfh6yez]{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-standard);padding-top:var(--sp-standard);border-top:1px solid rgba(8,145,178,.12)}.case-study__tldr-link[data-astro-cid-ijfh6yez]{display:inline-flex;align-items:center;gap:var(--sp-tight);font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--fw-normal);color:var(--color-gray-700);text-decoration:none;letter-spacing:var(--ls-normal);transition:all .2s ease;padding:var(--sp-tight) var(--sp-standard);border-radius:var(--radius-sm);line-height:1.4}.case-study__tldr-link[data-astro-cid-ijfh6yez] svg[data-astro-cid-ijfh6yez]{flex-shrink:0;transition:transform .2s ease;width:14px;height:14px}.case-study__tldr-link[data-astro-cid-ijfh6yez]:hover{color:var(--color-cyan-600);background:#0891b214;text-decoration:none}.case-study__tldr-link[data-astro-cid-ijfh6yez]:active{background:#0891b21f}.case-study__tldr-link--forward[data-astro-cid-ijfh6yez]{color:var(--color-cyan-700)}.case-study__tldr-link--forward[data-astro-cid-ijfh6yez]:hover{color:var(--color-cyan-600);background:#0891b21a}.case-study__tldr-link--forward[data-astro-cid-ijfh6yez]:hover svg[data-astro-cid-ijfh6yez]{transform:translate(3px)}.case-study__tldr-link--back[data-astro-cid-ijfh6yez]:hover svg[data-astro-cid-ijfh6yez]{transform:translate(-3px)}@media(max-width:1024px){.case-study__layout[data-astro-cid-ijfh6yez]{display:flex;flex-direction:column;gap:var(--sp-xl)}.case-study__sidebar[data-astro-cid-ijfh6yez]{position:static;order:-1}.case-study__tldr[data-astro-cid-ijfh6yez]{width:100%}}@media(max-width:640px){.case-study__layout[data-astro-cid-ijfh6yez]{margin-top:var(--sp-lg);gap:var(--sp-lg)}}.case-study-article.blog-typography{font-family:var(--font-body);font-weight:var(--fw-light);font-size:var(--reading-body-size);line-height:var(--reading-line-height);letter-spacing:var(--ls-normal);color:var(--color-black);word-break:break-word}.case-study-article.blog-typography :where(p,ul,ol,blockquote,pre,table,figure){margin-block:0}.case-study-article.blog-typography :where(h1,h2,h3,h4,h5,h6){font-family:var(--font-serif);font-weight:var(--fw-normal);letter-spacing:var(--heading-letter-spacing-tight);scroll-margin-top:5rem;text-wrap:balance}.case-study-article.blog-typography h1{font-size:var(--reading-h1-size);font-weight:var(--fw-normal);line-height:var(--reading-heading-line-height-h1);margin-top:var(--rhythm-heading-h1-above);margin-bottom:var(--rhythm-heading-h1-below)}.case-study-article.blog-typography h2{font-size:var(--reading-h2-size);font-weight:var(--fw-normal);line-height:var(--reading-heading-line-height-h2);margin-top:var(--rhythm-heading-h2-above);margin-bottom:var(--rhythm-heading-h2-below)}.case-study-article.blog-typography h3{font-size:var(--reading-h3-size);font-weight:var(--fw-normal);line-height:var(--reading-heading-line-height-h3);margin-top:var(--rhythm-heading-h3-above);margin-bottom:var(--rhythm-heading-h3-below)}.case-study-article.blog-typography h4{font-size:var(--reading-h4-size);font-weight:var(--fw-x-light);line-height:1.4;margin-top:var(--rhythm-heading-h4-above);margin-bottom:var(--rhythm-heading-h4-below)}.case-study-article.blog-typography>h1:first-of-type{font-size:var(--reading-h2-size);font-family:var(--font-serif);font-weight:var(--fw-normal);margin-top:var(--rhythm-heading-h2-above);margin-bottom:var(--rhythm-heading-h2-below)}.case-study-article.blog-typography p{color:var(--color-black);letter-spacing:var(--ls-normal);line-height:var(--reading-line-height);font-weight:var(--fw-light);margin-top:0;margin-bottom:0}.case-study-article.blog-typography p+p{margin-top:var(--rhythm-paragraph-comfortable)}.case-study-article.blog-typography a{color:var(--reading-color-link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em;font-weight:var(--fw-normal)}.case-study-article.blog-typography a:hover{color:var(--reading-color-link-hover)}.case-study-article.blog-typography a:focus-visible{outline:2px solid var(--reading-color-outline);outline-offset:4px}.case-study-article.blog-typography :where(ul,ol){padding-left:1.75rem;margin-top:var(--rhythm-list-above);margin-bottom:var(--rhythm-list-below);line-height:var(--reading-line-height);font-weight:var(--fw-light);.case-study-article.blog-typography li+li{margin-top:var(--rhythm-list-item)}.case-study-article.blog-typography li::marker{color:var(--color-cyan-600)}.case-study-article.blog-typography blockquote{padding:1.25rem 1.5rem;border-left:4px solid var(--color-cyan-600);background:#0891b20f;border-radius:.75rem;color:var(--color-gray-700);font-family:var(--font-body);font-weight:var(--fw-light);font-style:italic;margin-top:var(--rhythm-blockquote-above);margin-bottom:var(--rhythm-blockquote-below);line-height:var(--reading-line-height);font-size:1.05em}.case-study-article.blog-typography blockquote cite{display:block;margin-top:.75rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--fw-normal);font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-600);line-height:1.5}.case-study-article.blog-typography code{font-family:var(--font-mono);font-size:.9375em;background:var(--reading-color-inline-code-bg);border:1px solid rgba(53,53,52,.15);border-radius:var(--radius-sm);padding:.15em .5em;line-height:inherit;color:var(--color-black);font-weight:var(--fw-normal)}.case-study-article.blog-typography pre{position:relative;padding:1.25rem;background:var(--reading-color-code-bg);border:1px solid rgba(15,23,42,.6);border-radius:var(--radius-md);color:#f1f5f9;font-family:var(--font-mono);font-size:.875rem;line-height:var(--lh-code);overflow-x:auto;box-shadow:var(--box-shadow-lg);margin-top:var(--rhythm-code-above);margin-bottom:var(--rhythm-code-below);font-weight:var(--fw-normal)}.case-study-article.blog-typography pre code{background:none;border:none;padding:0;color:inherit}.case-study-article.blog-typography hr{border:none;height:1px;width:clamp(48px,10vw,120px);border-radius:1px;margin:2.5em auto;background:linear-gradient(90deg,transparent,var(--color-cyan-600),transparent);opacity:.6}@media(max-width:640px){.case-study-article.blog-typography{font-size:clamp(1rem,1.5vw + .875rem,1.0625rem);line-height:var(--reading-line-height)}.case-study-article.blog-typography p+p{margin-top:var(--rhythm-paragraph-standard)}.case-study-article.blog-typography h1{margin-top:2rem;margin-bottom:1rem}.case-study-article.blog-typography h2{margin-top:2rem;margin-bottom:.875rem}.case-study-article.blog-typography h3{margin-top:1.5rem;margin-bottom:.75rem}.case-study-article.blog-typography h4{margin-top:1.25rem;margin-bottom:.625rem}.case-study-article.blog-typography :where(ul,ol){margin-top:.875rem;margin-bottom:.875rem}.case-study-article.blog-typography blockquote,.case-study-article.blog-typography pre{margin-top:1.5rem;margin-bottom:1.5rem}.case-study-article.blog-typography :where(h1,h2,h3,h4,h5,h6){scroll-margin-top:4.5rem}.case-study-article.blog-typography h1{font-size:clamp(1.5rem,4vw + .875rem,1.875rem);line-height:1.25}.case-study-article.blog-typography h2{font-size:clamp(1.375rem,3.5vw + .75rem,1.625rem);line-height:1.3}.case-study-article.blog-typography h3{font-size:clamp(1.25rem,3vw + .625rem,1.4375rem);line-height:1.35}.case-study-article.blog-typography h4{font-size:clamp(1.125rem,2.5vw + .5625rem,1.25rem);line-height:1.4}.case-study-article.blog-typography>h1:first-of-type{margin-top:1.25em;margin-bottom:.875em}.case-study-article.blog-typography p{line-height:1.65}.case-study-article.blog-typography p+p{margin-top:.75em}.case-study-article.blog-typography :where(ul,ol){padding-left:1.5rem;margin-top:1em;margin-bottom:.625em}.case-study-article.blog-typography li+li{margin-top:.375em}.case-study-article.blog-typography blockquote{padding:1rem 1.25rem;margin-top:1em;margin-bottom:1em;border-left-width:3px;line-height:1.65}.case-study-article.blog-typography blockquote cite{margin-top:.5rem;font-size:.75rem}.case-study-article.blog-typography code{font-size:.875em;padding:.125em .375em}.case-study-article.blog-typography pre{padding:1rem;font-size:.8125rem;line-height:1.6;margin-top:1em;margin-bottom:1em;overflow-x:auto;-webkit-overflow-scrolling:touch}.case-study-article.blog-typography hr{width:clamp(40px,8vw,80px);margin:2em auto}}}
