.case-study-rail[data-astro-cid-36x2n747]{align-self:start;position:sticky;top:2.5rem}.case-study-rail-link[data-astro-cid-36x2n747][aria-current=true]{border-left-color:var(--accent);color:var(--foreground)}.case-study-body{grid-template-columns:minmax(0,1fr);gap:2rem;display:grid}@media (width>=48rem){.case-study-body{grid-template-columns:12rem minmax(0, var(--container-narrow));gap:3rem}.case-study-stack{grid-column:2}}@media (width>=80rem){.case-study-body:has(>.case-study-stack:not(:empty)){grid-template-columns:12rem minmax(0, var(--container-narrow)) 18rem}.case-study-stack{grid-area:1/3;align-self:start;position:sticky;top:2.5rem}}.case-study-stack{border:1px solid var(--border);background:var(--card);align-self:start;padding:1rem 1.125rem 1.125rem}.case-study-stack:empty{display:none}.case-study-stack h2{border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);margin:0;padding-bottom:.625rem;font-size:.6875rem;font-weight:700}.case-study-stack ul{margin:0;padding:0;list-style:none}.case-study-stack li{border-bottom:1px solid var(--border);color:var(--foreground);margin:0;padding:.625rem 0;font-size:.875rem;line-height:1.5}.case-study-stack li:last-child{border-bottom:0;padding-bottom:0}.case-study-stack li strong{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:.1875rem;font-size:.625rem;font-weight:600;display:block}.case-study-content h2{font-size:var(--text-subhead);letter-spacing:-.01em;border-top:1px solid var(--border);color:var(--foreground);margin-top:1rem;margin-bottom:.375rem;padding-top:.75rem;scroll-margin-top:4rem;font-weight:700;line-height:1.35}.case-study-content h2:first-of-type{border-top:none;margin-top:.75rem;padding-top:0}.case-study-content h3{color:var(--foreground);margin-top:.75rem;margin-bottom:.375rem;font-size:1.125rem;font-weight:700}.case-study-content p{color:var(--muted-foreground);margin-block:.5rem;font-size:1rem;line-height:1.6}.case-study-content ul{margin-block:.5rem;padding-left:0;list-style-type:none}.case-study-content ul li{color:var(--muted-foreground);margin-bottom:.25rem;padding-left:1.5rem;font-size:.975rem;line-height:1.6;position:relative}.case-study-content ul li:before{content:"›";color:var(--accent);font-weight:700;position:absolute;left:0}.case-study-content ol{counter-reset:cs-feature;margin-block:.5rem;padding-left:0;list-style:none}.case-study-content ol li{counter-increment:cs-feature;color:var(--muted-foreground);margin-bottom:.5rem;padding-left:2.75rem;font-size:.975rem;line-height:1.6;position:relative}.case-study-content ol li:before{content:counter(cs-feature, decimal-leading-zero);border:1px solid var(--accent);background:var(--accent);width:1.5rem;height:1.5rem;font-family:var(--font-mono);color:var(--accent-foreground);place-items:center;font-size:.6875rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.case-study-content h2+p+ul{border-block:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem 1.25rem;margin-block:.75rem;padding-block:1rem;display:grid}.case-study-content h2+p+ul>li{margin-bottom:0;padding-left:0}.case-study-content h2+p+ul>li:before{content:none}.case-study-content h2+p+ul>li strong{letter-spacing:-.01em;color:var(--accent);margin-top:.25rem;font-size:1.5rem;font-weight:700;display:block}.case-study-content h2#tech-stack+ul>li{border-bottom:1px solid var(--border);margin-bottom:0;padding:.625rem 0}.case-study-content h2#tech-stack+ul>li:first-child{border-top:1px solid var(--border)}.case-study-content h2#tech-stack+ul>li:before{content:none}.case-study-content strong{color:var(--foreground);font-weight:600}.case-study-content code{background:var(--muted);border:1px solid var(--border);color:var(--foreground);padding:.1em .4em;font-size:.85em}.case-study-content pre{background:var(--card);border:1px solid var(--border);padding:1.25rem 1.5rem;overflow-x:auto}.case-study-content pre code{color:var(--foreground);background:0 0;border:0;padding:0;font-size:.85rem;line-height:1.7}.case-study-content a:not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--foreground);text-decoration-color:var(--border)}.case-study-content a:not(:where([class~=not-prose],[class~=not-prose] *)):hover{text-decoration-color:var(--accent)}.case-study-content blockquote{border-left:2px solid var(--accent);color:var(--muted-foreground);padding-left:1.25rem;font-style:normal}
