/* Mini case studies in the existing editorial work grid. */
.work-card { border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.work-card h3 { font-size: clamp(40px,4.25vw,63px); line-height: 1; letter-spacing: -.045em; }
.work-card__outcome { min-height: 0; font-size: 18px; color: var(--muted); }
.work-card__image-link { display: block; }
.work-card__media picture { width: 100%; height: 100%; }
.work-card__image-link:is(:hover,:focus-visible) img { transform: scale(1.02); }
.work-card__tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; margin: 22px 0; color: var(--muted); font-size: 13px; }
.work-card__tags > li:not(:last-child)::after { content: ' ·'; margin-left: 18px; }
.work-card__details { margin: 0; }
.work-card__details > div { padding-block: 16px; border-top: 1px solid var(--line); }
.work-card__details dt { font-size: 14px; margin-bottom: 8px; }
.work-card__details dd { margin: 0; color: var(--muted); line-height: 1.65; }
.work-card__quote { margin: 22px 0; padding-left: 18px; border-left: 1px solid var(--accent); color: var(--muted); }
.work-card__quote footer { font-size: 13px; margin-top: 12px; }
.work-card > .text-link { gap: 20px; white-space: normal; }
@media (prefers-reduced-motion: reduce) { .work-card__image-link img { transform: none !important; } }

/* Native disclosures keep each complete case study together, including without scripts. */
.work-card__more { border-top: 1px solid var(--line); }
.work-card__more > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; padding-block: 12px; list-style: none; cursor: pointer; font-size: 16px; }
.work-card__more > summary::-webkit-details-marker { display: none; }
.work-card__more > summary::marker { content: ''; }
.work-card__more > summary:is(:hover,:focus-visible) { color: var(--accent); }
.work-card__toggle { flex: 0 0 12px; }
.work-card__more[open] .work-card__toggle-vertical { display: none; }
.work-card__more + .text-link { margin-top: var(--space-field, 16px); }
