.case-study__hero{padding-top:calc(var(--header-h) + 32px);padding-bottom:var(--section-y)}.case-study__back{font-size:var(--fs-l);color:var(--color-muted);transition:color .3s var(--ease-out);align-items:center;gap:8px;display:inline-flex}.case-study__back .icon{transition:transform .4s var(--ease-out)}.case-study__back:hover{color:var(--color-ink)}.case-study__back:hover .icon{transform:translate(-3px)}.case-study__intro{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--gutter);padding-block:56px 48px;display:grid}.case-study__aside{flex-direction:column;grid-column:1/span 4;gap:20px;padding-top:10px;display:flex}.case-study__tag{font-size:var(--fs-xs);color:var(--color-accent);align-items:center;gap:12px;line-height:1.2;display:flex}.case-study__tag-marker{background:var(--color-accent);flex:none;width:12px;height:12px}.case-study__heading{flex-direction:column;grid-column:5/span 8;gap:32px;display:flex}.case-study__title{font-size:var(--fs-h2);line-height:1.1}.case-study__lead{max-width:720px;font-size:var(--fs-l);color:var(--color-muted);line-height:1.4}.case-study__divider{background:var(--color-border);transform-origin:0;height:1px}.case-study__highlights{gap:40px var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));padding-block:48px;display:grid}.case-study__facts{gap:24px var(--gutter);background:var(--color-surface);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:28px;display:grid}.case-study__fact{flex-direction:column;gap:8px;display:flex}.case-study__fact-label{font-size:var(--fs-xs);color:var(--color-muted)}.case-study__fact-value{font-size:var(--fs-m);margin:0;line-height:1.35}.case-study__body{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--gutter);padding-bottom:var(--section-y);display:grid}.case-study__toc{grid-column:1/span 3}.case-study__toc-inner{top:calc(var(--header-h) + 8px);flex-direction:column;gap:24px;display:flex;position:sticky}.case-study__toc-list{counter-reset:toc;flex-direction:column;gap:12px;display:flex}.case-study__toc-link{font-size:var(--fs-s);color:var(--color-muted);transition:color .3s var(--ease-out);padding-left:21px;line-height:1.25;display:block;position:relative}.case-study__toc-link:before{content:"";background:var(--color-accent);width:9px;height:9px;transition:transform .5s var(--ease-out);position:absolute;top:.42em;left:0;transform:scale(0)}.case-study__toc-link:hover,.case-study__toc-link.is-active{color:var(--color-ink)}.case-study__toc-link.is-active:before{transform:scale(1)}.case-study__content{max-width:760px;font-size:var(--fs-m);grid-column:5/span 7;line-height:1.55}.case-study__content>h2{border-top:1px solid var(--color-border);font-size:var(--fs-h2-s);scroll-margin-top:calc(var(--header-h) + 16px);margin:96px 0 28px;padding-top:32px;line-height:1.1}.case-study__content>h2:first-child{margin-top:0}.case-study__content>h2:has(+p+h3),.case-study__content{counter-reset:step}.case-study__content>h3{font-size:var(--fs-h4);counter-increment:step;flex-direction:column;gap:12px;margin:56px 0 20px;line-height:1.15;display:flex}.case-study__content>h3:before{content:counter(step, decimal-leading-zero);font-size:var(--fs-l);color:var(--color-accent);font-style:italic}.case-study__content p+p,.case-study__content p+ul,.case-study__content ul+p,.case-study__content p+.case-study__table,.case-study__content .case-study__table+p{margin-top:16px}.case-study__content ul{flex-direction:column;gap:10px;display:flex}.case-study__content li{padding-left:24px;position:relative}.case-study__content li:before{content:"";background:var(--color-accent);width:6px;height:6px;position:absolute;top:.62em;left:2px}.case-study__content strong{font-weight:600}.case-study__content blockquote{border-left:2px solid var(--color-accent);background:var(--color-surface);font-size:var(--fs-l);margin:24px 0;padding:24px 28px;line-height:1.4}.case-study__content blockquote p+p{margin-top:8px}.case-study__content p:has(>img){grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:16px;margin-top:24px;display:grid}.case-study__content img{border:1px solid var(--color-border);background:var(--color-surface);width:auto;max-width:100%;height:auto}.case-study__table{-webkit-overflow-scrolling:touch;margin-inline:-4px;overflow-x:auto}.case-study__table table{border-collapse:collapse;width:100%;min-width:520px}.case-study__table td:not(:first-child){font-variant-numeric:tabular-nums}.case-study__table th,.case-study__table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--color-border);padding:14px 4px}.case-study__table th:first-child,.case-study__table td:first-child{text-align:left;white-space:normal}.case-study__table th{font-size:var(--fs-xs);color:var(--color-muted);font-weight:400}.case-study__table th:nth-child(4),.case-study__table td:nth-child(4){font-weight:600}.case-study__table tbody tr:hover td{background:var(--color-surface)}.case-study__summary{padding-block:calc(var(--section-y) * 1.25);background:var(--color-ink);color:var(--color-white);position:relative;overflow:hidden}.case-study__summary-texture{pointer-events:none;position:absolute;inset:-12% 0}.case-study__summary-inner{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--gutter);display:grid;position:relative}.case-study__summary-label{grid-column:1/span 4}.case-study__summary-content{flex-direction:column;grid-column:5/span 7;gap:24px;display:flex}.case-study__summary-text{font-size:var(--fs-h3);line-height:1.25}.case-study__summary-note{max-width:640px;font-size:var(--fs-m);color:#ffffffb3;line-height:1.5}.case-study__summary-actions{margin-top:16px}.case-study__summary-button{background:var(--color-white);color:var(--color-ink)}@media (width<=1023px){.case-study__aside{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 0 24px}.case-study__heading{grid-column:1/-1}.case-study__highlights,.case-study__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study__toc{display:none}.case-study__content{grid-column:1/span 10}.case-study__summary-label{grid-column:1/-1;margin-bottom:32px}.case-study__summary-content{grid-column:1/span 10}}@media (width<=767px){.case-study__title{font-size:1.75rem}.case-study__intro{padding-block:40px 32px}.case-study__highlights{gap:32px 16px;padding-block:32px}.case-study__facts{grid-template-columns:1fr;padding:24px}.case-study__content{grid-column:1/-1}.case-study__content>h2{margin-top:64px}.case-study__summary-content{grid-column:1/-1}.case-study__summary-button{width:100%}}
