/* Completed Projects shares the existing site palette and typography. */
.work-hero { padding: clamp(28px, 6vw, 64px); border-radius: 20px; background: radial-gradient(ellipse at top right, #526f91, transparent 65%), #223651; color: #fff; margin: 20px 0 52px; }
.work-hero h1 { color: #fff; font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1.08; letter-spacing: -.035em; margin: 0 0 20px; }
.work-hero > p:not(.kicker) { max-width: 52ch; color: #edf1f8; font-size: 1.15rem; margin: 0 0 28px; }
.work-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
.work-heading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.1rem); }
.work-heading > p { max-width: 28ch; margin: 0; color: var(--muted); font-size: .95rem; }
.work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.work-card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.work-card-link { display: flex; flex-direction: column; height: 100%; color: var(--ink); text-decoration: none; }
.work-card-link:hover h3, .work-card-link:focus-visible h3 { color: var(--purple-ink); }
.work-card-link:focus-visible { outline: 3px solid var(--focus); outline-offset: -4px; }
.work-cover { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: top; background: #e7e9f2; }
.work-no-photo { display: grid; place-items: center; background: linear-gradient(135deg, #e2e8ef, #eeebf8); color: #364866; font-weight: 600; }
.work-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px; overflow-wrap: anywhere; }
.work-card h3 { font-size: 1.4rem; line-height: 1.25; margin: 0 0 12px; }
.work-card-body > p:not(.eyebrow) { color: var(--muted); margin: 0 0 16px; }
.work-meta, .work-card-bottom { font-size: .9rem; }
.work-card-bottom { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--line); margin-top: auto; }
.work-view { color: var(--purple-ink); font-weight: 650; }
.work-empty { border: 1px solid var(--line); border-radius: 16px; background: var(--paper-2); text-align: center; padding: clamp(28px, 5vw, 56px) 24px; }
.work-empty-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; margin: 0 auto 20px; background: var(--purple-tint); color: var(--purple-ink); font-size: 1.7rem; }
.work-empty h3 { font-size: clamp(1.4rem, 3vw, 1.8rem); margin: 0 0 12px; }
.work-empty p { max-width: 52ch; margin: 0 auto 24px; color: var(--muted); }
.work-note { padding: 28px 0; margin: 24px 0 12px; border-bottom: 1px solid var(--line); color: var(--muted); }
.work-note strong { color: var(--ink); }
.work-note p { margin: 6px 0 0; max-width: 75ch; }
@media (max-width: 900px) { .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .work-grid { grid-template-columns: 1fr; } .work-heading { display: block; } .work-heading > p { max-width: none; margin-top: 12px; } .work-hero { margin-bottom: 36px; } }
