/* Illustrated workflows, aligned with WHAT WE DO. */
.os-motion{padding:32px;background:#fff;border:1px solid var(--line)}
.os-illustration{margin:0 0 24px}
.os-illustration img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
.os-nodes{gap:28px}
.os-nodes li{padding:18px 0 0;min-height:0;background:none;border:0;border-top:2px solid var(--line);border-radius:0;box-shadow:none;animation-name:captionFocus}
.os-nodes li:not(:last-child):after{display:none}
.os-nodes .step-number{position:static;display:block;font-size:13px;line-height:1.5;letter-spacing:.08em;color:var(--point);margin-bottom:10px}
.os-nodes h3{font-size:22px;margin:0 0 10px}
.os-nodes p{font-size:14px;line-height:1.7}
.os-nodes small{font-size:14px;line-height:1.7;margin-top:8px;color:var(--muted)}
@keyframes captionFocus{0%,24%{border-color:var(--point);box-shadow:none}25%,100%{border-color:var(--line);box-shadow:none}}
.case-illustration{margin:24px 0}
.case-illustration>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply}
.case-stages{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 0 0;margin:0;border-top:1px solid var(--line)}
.case-stages li{font-size:14px;line-height:1.6;word-break:keep-all}
.case-stages span{display:block;color:var(--point);font-size:12px;letter-spacing:.06em;margin-bottom:4px}
.work-grid article{display:flex;flex-direction:column}
.work-grid .case-brand{flex:none}
.work-grid .outcome{margin-top:auto;padding-top:20px}
@media(max-width:1000px){.os-nodes{gap:20px}.os-nodes h3{font-size:20px}}
@media(max-width:760px){.os-motion{padding:24px}.os-nodes{grid-template-columns:1fr 1fr;gap:24px}.os-nodes li{padding:16px 0 0}.os-illustration{margin:0 0 28px}.os-nodes h3{font-size:20px}.case-illustration>img{max-height:280px}}
@media(max-width:480px){.os-motion{padding:20px}.os-nodes{gap:24px 18px}.os-nodes li{min-height:0}.os-nodes .step-number{position:static;font-size:12px;margin-bottom:8px}.os-nodes h3{font-size:19px}.os-nodes p,.os-nodes small{font-size:14px}.os-nodes small{margin-top:8px}.os-illustration{margin-left:-10px;margin-right:-10px}.case-stages li{font-size:14px}}
@media(prefers-reduced-motion:reduce){.os-nodes li{animation:none!important;border-color:var(--line)}.os-nodes li:nth-child(2){border-color:var(--line)}}
