img.wm-image-pending{background:linear-gradient(110deg,#edf4f3 25%,#fff 45%,#edf4f3 65%);background-size:250% 100%;animation:wm-shimmer 1.5s linear infinite}img.wm-image-ready{animation:wm-image-in .25s ease-out}img.wm-image-error{background:#edf4f3;border:1px dashed #c4d6d3;color:#64847e} .portfolio-card-media img.wm-image-pending,.case-gallery-grid img.wm-image-pending{aspect-ratio:3/2}.case-study .case-hero h1,.case-study .case-hero .eyebrow{color:var(--project-accent,#0c8278)}.case-study .case-actions .primary{background:var(--project-accent,#0c8278);border-color:var(--project-accent,#0c8278);color:#fff}.case-study .case-actions .ghost{color:var(--project-accent,#0c8278);border-color:var(--project-accent,#0c8278)}@keyframes wm-shimmer{to{background-position:-150% 0}}@keyframes wm-image-in{from{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){img.wm-image-pending,img.wm-image-ready{animation:none}}

.customer-logo-link{display:inline-flex;flex-shrink:0;align-items:center}.client-grid article img{object-fit:contain}.logo-track:has(>:only-child){animation:none}
