a[data-astro-cid-m7ymqu5t][aria-current=location]{border-left-color:var(--brand);color:var(--foreground)}.case-study-sections .case-study-image-trigger{border:1px solid var(--border);border-radius:var(--radius-xl);cursor:zoom-in;contain:paint;background:0 0;width:100%;padding:0;display:block;overflow:hidden}.case-study-image-trigger picture{width:100%;height:100%;display:block}.case-study-sections .case-study-image-trigger img{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;transition:transform .35s}.case-study-image-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:4px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.case-study-image-trigger:hover img{transform:scale(1.05)}}::view-transition-group(project-image-zoom){animation-duration:.35s;animation-timing-function:ease}@layer properties,theme,base;@layer components{.case-study-sections{counter-reset:case-study-section}.case-study-sections>section>h2,.case-study-sections>h2{counter-increment:case-study-section;color:var(--foreground);letter-spacing:-.035em;align-items:baseline;gap:.85rem;margin:0 0 1.25rem;scroll-margin-top:6rem;font-size:clamp(1.65rem,3.2vw,2.1rem);font-weight:600;line-height:1.15;display:flex}.case-study-sections>section>h2:before,.case-study-sections>h2:before{min-width:2rem;color:var(--brand);letter-spacing:.13em;content:counter(case-study-section, decimal-leading-zero);flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem;font-weight:600}.case-study-sections>section,.case-study-sections>h2{margin-top:0}.case-study-sections>h2:not(:first-child){margin-top:5rem}.case-study-sections p,.case-study-sections li{color:var(--muted-foreground);font-size:1rem;line-height:1.85}.case-study-sections p{margin:0 0 1.4rem}.case-study-sections ul,.case-study-sections ol{margin:0 0 1.4rem;padding-left:1.5rem;list-style-position:outside}.case-study-sections ul{list-style-type:disc}.case-study-sections ol{list-style-type:decimal}.case-study-sections li+li{margin-top:.5rem}.case-study-sections li::marker{color:var(--brand)}.case-study-sections li>ul,.case-study-sections li>ol{margin-top:.5rem;margin-bottom:0}.case-study-sections h3{color:var(--foreground);letter-spacing:-.02em;margin:2.5rem 0 .85rem;font-size:1.35rem;font-weight:600}.case-study-sections a{color:var(--foreground);text-decoration-color:var(--border);text-underline-offset:.25rem}.case-study-sections a:hover{color:var(--brand);text-decoration-color:var(--brand)}.case-study-sections img{border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;height:auto;margin:2rem 0}.case-study-sections figure{margin:2rem 0}.case-study-sections figure>p{margin:0}.case-study-sections figure img{margin:0;display:block}.case-study-sections figcaption{color:var(--muted-foreground);text-align:center;margin-top:.75rem;font-size:.85rem;line-height:1.6}.case-study-sections pre{border:1px solid var(--border);border-radius:var(--radius-xl);max-width:100%;margin:2rem 0;padding:1.25rem;overflow-x:auto}.case-study-sections table{border-collapse:collapse;max-width:100%;margin:2rem 0;display:block;overflow-x:auto}.case-study-sections th,.case-study-sections td{border:1px solid var(--border);text-align:left;padding:.75rem}.case-study-sections strong{color:var(--foreground);font-weight:600}.case-study-sections :not(pre)>code{background:color-mix(in srgb, var(--brand) 8%, transparent);color:var(--foreground);overflow-wrap:anywhere;border-radius:.3rem;padding:.15em .4em;font-size:.88em}.case-study-table{max-width:100%;margin:2rem 0;overflow-x:auto}.case-study-sections .case-study-table>table{width:100%;margin:0;display:table}.case-study-sections .case-study-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:2rem 0;padding:0;list-style:none;display:grid}.case-study-sections .case-study-flow>li{border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;flex-direction:column;justify-content:center;margin:0;padding:1rem .65rem;display:flex;position:relative}.case-study-flow strong,.case-study-flow span{display:block}.case-study-flow strong{line-height:1.3}.case-study-flow span{overflow-wrap:anywhere;margin-top:.35rem;font-size:.78rem;line-height:1.5}.case-study-flow>li:not(:last-child):after{color:var(--brand);content:"→";position:absolute;top:50%;right:-1.1rem;transform:translateY(-50%)}.case-study-steps>ol{counter-reset:deployment-step;margin:2rem 0;padding:0;list-style:none}.case-study-steps>ol>li{counter-increment:deployment-step;min-height:3rem;margin:0;padding:.25rem 0 1.5rem 3.5rem;position:relative}.case-study-steps>ol>li:before{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--border));background:color-mix(in srgb, var(--brand) 8%, transparent);width:2.5rem;height:2.5rem;color:var(--brand);content:counter(deployment-step, decimal-leading-zero);border-radius:50%;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;display:grid;position:absolute;top:0;left:0}.case-study-steps>ol>li:not(:last-child):after{background:var(--border);content:"";width:1px;position:absolute;top:2.7rem;bottom:.2rem;left:1.25rem}.case-study-sections th{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 4%, transparent)}.case-study-sections td{color:var(--muted-foreground);line-height:1.7}@media (width<=600px){.case-study-sections .case-study-flow{grid-template-columns:minmax(0,1fr);gap:1.5rem}.case-study-flow>li:not(:last-child):after{content:"↓";top:auto;bottom:-1.55rem;right:50%;transform:translate(50%)}}}@layer utilities;
