.case-work-step { display: grid; grid-template-columns: var(--space-12) minmax(0, 1fr); gap: var(--space-6); min-inline-size: 0; }
.case-work-step__rail { position: relative; }
.case-work-step__rail::after { content: ''; position: absolute; inset-block: calc(var(--space-12) + var(--space-2)) 0; inset-inline-start: 50%; inline-size: 1px; background: var(--color-border-divider); }
.case-work-step:last-child .case-work-step__rail::after { display: none; }
.case-work-step__number { display: flex; align-items: center; justify-content: center; inline-size: var(--space-12); block-size: var(--space-12); border: 1px solid var(--color-services-background); border-radius: var(--radius-round); color: var(--color-services-background); font-family: var(--font-heading); font-size: var(--fs-kicker-max); font-weight: 600; line-height: 1.1; }
.case-work-step__content { min-inline-size: 0; padding-block-end: var(--space-4); }
.case-work-step__title { max-inline-size: 50rem; margin: 0 0 var(--space-6); font-family: var(--font-heading); font-size: clamp(var(--fs-body-large), 1.666667vw, var(--fs-card-title-max)); font-weight: 600; line-height: 1.3; text-transform: uppercase; overflow-wrap: anywhere; }
.case-work-step__description { max-inline-size: 50rem; color: var(--color-case-description); font-size: var(--fs-body); line-height: var(--line-height-control); }
.case-work-step__title:last-child { margin-block-end: 0; }
.case-work-step__description > :first-child { margin-block-start: 0; }
.case-work-step__description > :last-child { margin-block-end: 0; }
.case-work-step__description ul { list-style: disc; }
.case-work-step__images { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-block-start: var(--space-8); }
.case-work-step__media { flex: 0 1 17.5rem; min-inline-size: 0; inline-size: min(100%, 17.5rem); aspect-ratio: 280 / 398; border: 1px solid var(--color-border-divider); border-radius: var(--radius-media); overflow: hidden; }
.case-work-step__image { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; }
@media (width < 48rem) {
    .case-work-step { grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-4); }
    .case-work-step__number { inline-size: 2.25rem; block-size: 2.25rem; font-size: var(--fs-label); }
    .case-work-step__rail::after { inset-block-start: calc(2.25rem + var(--space-2)); }
    .case-work-step__images { gap: var(--space-4); margin-block-start: var(--space-6); }
}
