body:has(.case-study) nav{background:color-mix(in srgb, var(--paper-0) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule)}article.case-study{--case-content-width:760px;max-width:var(--container);margin:0 auto;padding:calc(var(--nav-h) + var(--s-8)) var(--gutter) var(--pad-base)!important}.case-study__hero{max-width:none;margin:0 0 var(--s-8);text-align:left;flex-direction:column;align-items:flex-start;display:flex;position:relative}.case-study__hero:before{content:"";background-color:var(--ink);background-image:linear-gradient(90deg, var(--act) 0 7px, transparent 7px);flex:none;align-self:stretch;height:3px;margin-bottom:clamp(20px,2.4vw,34px)}.case-study__hero-meta{justify-content:flex-start;align-self:stretch;align-items:baseline;gap:6px var(--s-3);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--wt-label-meta);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums;font-variation-settings:normal;margin-bottom:var(--s-3);flex-wrap:wrap;order:-1;line-height:1.3;display:flex}.case-study__hero-industry{color:var(--ink-muted)}.case-study__hero-dot{color:var(--ink-faint)}.case-study__hero-meta>time{margin-inline-start:auto}.case-study__title{font-family:var(--font-display);font-style:normal;font-weight:var(--wt-display);font-size:var(--fs-display-2);line-height:var(--lh-tight);letter-spacing:var(--tr-display);color:var(--ink);text-wrap:balance;-webkit-hyphens:none;hyphens:none;font-synthesis-style:none;max-width:min(100%,22ch);margin:0 0 var(--s-5)}.case-study__dek{font-size:var(--fs-lede);line-height:var(--lh-body);color:var(--ink-muted);max-width:var(--measure-tight);margin:0 0 var(--s-6);text-wrap:pretty}.case-study__ledger{max-width:none;margin-block:0 var(--s-8);text-align:left}.case-study__ledger-head{margin-bottom:var(--s-7)}.case-study__ledger-title{font-family:var(--font-display);font-style:normal;font-weight:var(--wt-display);font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--tr-optical);color:var(--on-ink);text-wrap:balance;-webkit-hyphens:none;hyphens:none;font-synthesis-style:none;max-width:24ch;margin:var(--s-4) 0 0}.case-study__metrics{gap:var(--s-6) var(--col-gap);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.case-study__metrics[data-scale=lg]{gap:var(--s-7) var(--col-gap);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.case-study__metric{align-items:stretch;gap:var(--s-2);padding-top:var(--s-4);text-align:left;flex-direction:column;display:flex}.case-study__metric.rule{border-top-color:var(--ink-rule-strong)}.case-study__metric.rule:after{background:var(--act-300)}.case-study__metric-value{min-inline-size:calc(var(--readout-ch,4) * 1ch);-webkit-text-fill-color:initial;background:0 0;display:block}.case-study__metric-value .readout__delta{margin-inline-end:.04em}.case-study__metric-value .readout__delta--flat{color:inherit}.case-study__metric-label{font-size:var(--fs-micro)}.case-study__metric .readout__baseline{margin-top:0}.case-study__metric-bar{width:100%;max-inline-size:220px;height:3px;margin-block:var(--s-1) calc(var(--s-1) * -1);background-color:var(--ink-rule-ui);border-radius:2px;display:block;position:relative;overflow:hidden}.case-study__metric-bar>.gt-delta{width:100%}.case-study__metric-bar>.gt-delta--flat{background-color:var(--on-ink-muted)}@media (forced-colors:active){.case-study__metric-bar{forced-color-adjust:none;background-color:canvas;border:1px solid canvastext}}.case-study__ledger .case-study__ledger-foot{gap:var(--s-2) var(--s-5);margin:var(--s-7) 0 0;padding-top:var(--s-4);border-top:1px solid var(--ink-rule);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--wt-label-meta);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--on-ink-faint);font-variant-numeric:tabular-nums;font-variation-settings:normal;text-wrap:pretty;flex-wrap:wrap;max-width:none;line-height:1.5;display:flex}.case-study__services{flex-wrap:wrap;justify-content:flex-start;gap:6px;margin:0;padding:0;list-style:none;display:flex}.case-study__services li{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--wt-label-meta);letter-spacing:.04em;background:var(--paper-2);border:1px solid var(--rule);color:var(--ink-muted);border-radius:var(--radius-pill);padding:6px 13px;line-height:1.4}.case-study__cover{width:100%;max-width:none;margin:0 0 var(--s-8);border-radius:var(--radius-2xl);background:var(--paper-2);border:1px solid var(--rule);box-shadow:var(--shadow-md), var(--lit);overflow:hidden}.case-study__cover img{width:100%;height:auto;display:block}.case-study__body{max-width:var(--case-content-width);margin:0 auto}.case-study__body>div>:first-child{margin-top:0}.case-study__body p{color:var(--ink-body);text-wrap:pretty;margin:0 0 1.4em}.case-study__body>div>p:first-of-type:first-letter{font-family:var(--font-display);font-style:normal;font-weight:var(--wt-display);float:left;color:var(--ink);padding:.06em .12em 0 0;font-size:4.2rem;line-height:1}.case-study__body h2,.case-study__gallery h2{font-family:var(--font-body);font-style:normal;font-weight:600;font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--tr-lg);color:var(--ink);text-wrap:balance;padding-top:var(--s-5);position:relative}.case-study__body h2{margin:2.4em 0 .7em}.case-study__body h2:before,.case-study__gallery h2:before{content:"";background-color:var(--act);width:14px;height:10px;-webkit-mask:var(--trace-mask) no-repeat center / contain;-webkit-mask:var(--trace-mask) no-repeat center / contain;mask:var(--trace-mask) no-repeat center / contain;position:absolute;top:0;left:0}@media (forced-colors:active){.case-study__body h2:before,.case-study__gallery h2:before{forced-color-adjust:none;background-color:canvastext}}.case-study__body ul,.case-study__body ol{color:var(--ink-body);margin:0 0 1.4em;padding-left:1.4em}.case-study__body li{line-height:var(--lh-prose);margin-bottom:.5em}.case-study__body blockquote{border-left:2px solid var(--act);padding:2px 0 2px var(--s-5);margin:1.8em 0}.case-study__body blockquote>:last-child{margin-bottom:0}.case-study__body .md-callout{padding:var(--s-5) var(--s-6);background:var(--paper-2);border-left:3px solid var(--act);border-radius:0 var(--radius) var(--radius) 0;max-width:none;margin:1.8em 0}.case-study__body .md-callout p{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--ink-body);margin:0 0 .7em}.case-study__body .md-callout>:last-child{margin-bottom:0}.case-study__body .md-callout p:first-child strong{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--wt-label);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--ink)}.case-study__body img{border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper-2);max-width:100%;height:auto;margin:1.8em 0}.case-study__body figure,.case-study__body .md-figure{max-width:none;margin:1.8em 0}.case-study__body figure img,.case-study__body .md-figure img{width:100%;margin:0;display:block}.case-study__body figcaption{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--ink-muted);line-height:1.5}.case-study__body .md-figure--wide{width:min(100%, calc(100vw - 2 * var(--gutter)));margin-left:calc(50% - min(50%, calc(50vw - var(--gutter))))}.case-study__body hr{border:0;border-top:1px solid var(--rule-strong);margin:2.6em 0}.case-study__body .md-table{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-0);max-width:none;box-shadow:var(--lit);overscroll-behavior-x:contain;margin:1.8em 0;overflow-x:auto}.case-study__body table{border-collapse:collapse;width:100%;font-size:var(--fs-body-sm);background:0 0;border:0;margin:0}.case-study__body>div>table{border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.case-study__body table thead{background:var(--paper-3)}.case-study__body table th{text-align:left;font-family:var(--font-mono);font-weight:var(--wt-label-meta);font-size:var(--fs-micro);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--ink-muted);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--rule-strong);white-space:nowrap}.case-study__body table td{padding:var(--s-3) var(--s-5);color:var(--ink-body);border-bottom:1px solid var(--rule-hair);line-height:var(--lh-body)}.case-study__body table tr:last-child td{border-bottom:0}.case-study__body table tbody tr:hover{background:var(--paper-1)}.case-study__body table td strong{color:var(--ink);font-weight:600}.case-study__gallery{max-width:var(--case-content-width);margin:0 auto var(--s-8)}.case-study__gallery h2{text-align:left;margin:0 0 var(--s-5)}.case-study__gallery-grid{gap:var(--s-6);grid-template-columns:minmax(0,1fr);display:grid}.case-study__gallery-item{background:var(--paper-0);border:1px solid var(--rule);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm), var(--lit);margin:0;overflow:hidden}.case-study__gallery-item img{background:var(--paper-2);width:100%;height:auto;display:block}.case-study__gallery-item figcaption{padding:var(--s-3) var(--s-5) var(--s-4);font-size:var(--fs-body-sm);color:var(--ink-muted);line-height:var(--lh-body);border-top:1px solid var(--rule-hair);background:var(--paper-1)}.case-study__gallery-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.case-study__gallery-trigger img{transition:opacity var(--dur-fast) linear}.case-study__gallery-trigger:hover img{opacity:.88}.case-study__gallery-trigger:focus-visible{outline:2px solid var(--act);outline-offset:-2px}.case-study__lightbox{z-index:2000;cursor:zoom-out;background:#111014f0;justify-content:center;align-items:center;padding:5vh 4vw;display:flex;position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){.case-study__lightbox{animation:caseLightboxFade var(--dur-fast) var(--ease-out-soft)}}@keyframes caseLightboxFade{0%{opacity:0}to{opacity:1}}.case-study__lightbox>img{border-radius:var(--radius-sm);cursor:default;width:auto;max-width:100%;height:auto;max-height:90vh;box-shadow:var(--shadow-ink)}.case-study__lightbox-close,.case-study__lightbox-nav{border-radius:var(--radius-pill);background:var(--ink-rule-strong);color:var(--on-ink);cursor:pointer;line-height:1;font-family:var(--font-body);transition:background-color var(--dur-fast) linear;border:0;justify-content:center;align-items:center;display:flex;position:absolute}.case-study__lightbox-close:hover,.case-study__lightbox-nav:hover{background:var(--ink-rule-ui)}.case-study__lightbox-close{width:44px;height:44px;font-size:26px;top:18px;right:18px}.case-study__lightbox-nav{width:52px;height:52px;padding-bottom:4px;font-size:36px;top:50%;transform:translateY(-50%)}.case-study__lightbox-nav--prev{left:20px}.case-study__lightbox-nav--next{right:20px}.case-study__lightbox-caption{text-align:center;max-width:80vw;color:var(--on-ink-muted);font-size:var(--fs-body-sm);cursor:default;line-height:1.4;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.case-study__lightbox-counter{color:var(--on-ink-faint);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--wt-label-meta);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;font-variant-numeric:tabular-nums;cursor:default;position:absolute;top:24px;left:50%;transform:translate(-50%)}@media (max-width:600px){.case-study__lightbox{padding:10vh 12px}.case-study__lightbox-nav{width:44px;height:44px;font-size:28px}.case-study__lightbox-nav--prev{left:8px}.case-study__lightbox-nav--next{right:8px}}.case-study__cta{max-width:none;margin-block:var(--s-8) 0;text-align:center}.case-study__cta-inner{max-width:var(--case-content-width);flex-direction:column;align-items:center;margin-inline:auto;display:flex}.case-study__cta h2{font-family:var(--font-display);font-style:normal;font-weight:var(--wt-display);font-size:var(--fs-display-3);line-height:var(--lh-tight);letter-spacing:var(--tr-optical);margin:var(--s-4) 0 var(--s-3);color:var(--on-ink);text-wrap:balance;-webkit-hyphens:none;hyphens:none;font-synthesis-style:none;max-width:20ch}.case-study__cta p{margin:0 auto var(--s-6);max-width:var(--measure-tight);font-size:var(--fs-body);color:var(--on-ink-muted);line-height:var(--lh-body);text-wrap:pretty}.case-study__cta .btn-primary{background:var(--paper-0);color:var(--ink);border-color:var(--paper-0)}.case-study__cta .btn-primary:hover{background:var(--paper-2);border-color:var(--paper-2);color:var(--ink)}.case-study__cta .case-study__cta-note{margin:var(--s-5) 0 0;color:var(--on-ink-faint)}.case-related{text-align:left;max-width:none;margin-block:0}.case-related__heading{margin-bottom:var(--s-7)}.case-related__grid{gap:var(--col-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-related__slot{display:flex}.case-related__slot>.case-related__card{flex:1}.case-related__card{background:var(--paper-0);border:1px solid var(--rule);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm), var(--lit);color:inherit;transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-fast) linear;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.case-related__card:hover,.case-related__card:focus-visible{border-color:var(--rule-strong);box-shadow:var(--shadow-md), var(--lit);transition-duration:var(--dur-fast);transform:translateY(-5px)}@media (prefers-reduced-motion:reduce){.case-related__card:hover,.case-related__card:focus-visible{transform:none}}@media (hover:none){.case-related__card:hover{box-shadow:var(--shadow-sm), var(--lit);transform:none}}.case-related__cover{aspect-ratio:16/9;background:var(--paper-3);overflow:hidden}.case-related__cover img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.case-related__cover-fallback{width:100%;height:100%;padding:var(--s-4);text-align:center;background:var(--paper-3);background-image:linear-gradient(var(--plot-grid-fine) 1px, transparent 1px), linear-gradient(90deg, var(--plot-grid-fine) 1px, transparent 1px);box-shadow:var(--sunk);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--wt-label);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;text-wrap:balance;background-size:48px 48px,48px 48px;justify-content:center;align-items:center;display:flex}@media (forced-colors:active){.case-related__cover-fallback{background-image:none}}.case-related__body{padding:var(--s-5) var(--s-5) var(--s-6);gap:var(--s-3);flex-direction:column;flex:1;display:flex}.case-related__meta{align-items:center;gap:6px var(--s-3);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--wt-label-meta);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums;font-variation-settings:normal;flex-wrap:wrap;line-height:1.3;display:flex}.case-related__meta>span+span:before{content:"·";color:var(--ink-faint);margin-inline-end:.7ch}.case-related__industry{color:var(--ink-muted)}.case-related__body h3{font-family:var(--font-display);font-style:normal;font-weight:var(--wt-display);font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:var(--tr-optical);color:var(--ink);text-wrap:balance;-webkit-hyphens:none;hyphens:none;font-synthesis-style:none;margin:0}.case-related__body p{color:var(--ink-muted);font-size:var(--fs-body-sm);line-height:var(--lh-body);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.case-related__metrics{gap:var(--s-4) var(--s-3);margin:var(--s-1) 0 0;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));padding:0;list-style:none;display:grid}.case-related__metric{text-align:left;padding-top:var(--s-3);flex-direction:column;gap:4px;display:flex}.case-related__metric-value{color:var(--ink);display:block}.case-related__metric-value .readout__delta{margin-inline-end:.04em}.case-related__metric-value .readout__delta--flat{color:inherit}.case-related__metric-label{color:var(--ink-muted);font-size:var(--fs-micro)}.case-related__metric .readout__baseline{margin-top:0}.case-related__more{padding-top:var(--s-3);font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--wt-label);letter-spacing:.06em;text-transform:uppercase;color:var(--act);align-items:center;gap:.6ch;margin-top:auto;display:inline-flex}.case-related__more.case-related__more{transition:color var(--dur-fast) linear}.case-related__more:after{content:"→";transition:transform var(--dur-base) var(--spring-1);display:inline-block}.case-related__card:hover .case-related__more,.case-related__card:focus-visible .case-related__more{color:var(--act-press)}.case-related__card:hover .case-related__more:after,.case-related__card:focus-visible .case-related__more:after{transition-duration:var(--dur-fast);transform:translate(4px)}@media (prefers-reduced-motion:reduce){.case-related__card:hover .case-related__more:after{transform:none}}@media (hover:none){.case-related__card:hover .case-related__more:after{transform:none}}.case-study__back-row{max-width:var(--case-content-width);margin:var(--s-8) auto 0;text-align:center}.case-study__back-row a{min-height:44px;padding:0 var(--s-3);font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--wt-label-meta);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);transition:color var(--dur-fast) linear;align-items:center;text-decoration:none;display:inline-flex}.case-study__back-row a:hover{color:var(--act)}@media (max-width:959.98px){.case-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.case-study__hero{margin-bottom:var(--s-7)}.case-study__hero-meta>time{margin-inline-start:0}.case-study__ledger{margin-bottom:var(--s-7)}.case-study__ledger-head,.case-study__cover{margin-bottom:var(--s-6)}.case-study__gallery{margin:0 auto var(--s-8)}.case-study__gallery h2{margin-bottom:var(--s-5)}.case-study__gallery-grid{gap:var(--s-4)}.case-study__cta,.case-study__back-row{margin-top:var(--s-7)}}@media (max-width:639.98px){.case-related__grid{grid-template-columns:minmax(0,1fr)}.case-study__metric-bar{max-inline-size:none}.case-study__ledger .case-study__ledger-foot{gap:var(--s-2) var(--s-4)}}@media print{article.case-study{padding-block:0 var(--s-6)!important}.case-study__hero{margin-bottom:var(--s-6)}.case-study__ledger,.case-study__cta,.case-related{margin-block:var(--s-6) 0;-moz-column-break-inside:avoid;break-inside:avoid}.case-study__metric.rule{border-top-color:var(--rule-strong)}.case-study__metric.rule:after{background:var(--ink)}.case-study__ledger .case-study__ledger-foot{border-top-color:var(--rule)}.case-study__metric-bar{display:none}.case-study__metrics,.case-study__metrics[data-scale=lg]{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study__cover,.case-study__gallery-item,.case-related__card{box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid}.case-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study__cta .btn-primary,.case-study__back-row{display:none}}
