.wcsj-latest {
    box-sizing: border-box;
    width: 100%;
    padding: clamp(32px, 4vw, 64px) clamp(16px, 3vw, 48px);
    color: #303030;
    font-family: Acre, sans-serif;
    font-weight: 500;
}
.wcsj-latest *, .wcsj-latest *::before, .wcsj-latest *::after { box-sizing: border-box; }
.wcsj-latest > h2 {
    margin: 0 0 clamp(24px, 3vw, 40px);
    color: #2c4a32;
    text-align: center;
    font: 500 clamp(26px, 2.5vw, 36px)/1.15 "Big Caslon", Georgia, serif;
}
.wcsj-latest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 16px; }
.wcsj-latest-card { display: flex; flex-direction: column; min-width: 0; }
.wcsj-latest a { color: inherit; text-decoration: none; }
.wcsj-latest a:focus-visible { outline: 2px solid #2c4a32; outline-offset: 4px; }
.wcsj-latest-visual { display: block; aspect-ratio: 4/5; overflow: hidden; background: #eeece7; }
.wcsj-latest .wcsj-latest-visual img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform .35s ease; }
.wcsj-latest .wcsj-latest-kicker { margin: 18px 0 0; font-size: 12px; letter-spacing: .035em; text-transform: uppercase; line-height: 1.4; }
.wcsj-latest-card h3 { margin: 13px 0 10px; font: 500 clamp(20px, 1.65vw, 26px)/1.18 "Big Caslon", Georgia, serif; overflow-wrap: anywhere; }
.wcsj-latest .wcsj-latest-excerpt { margin: 0 0 16px; font-size: 14px; line-height: 1.6; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.wcsj-latest-more { align-self: flex-start; margin-top: auto; padding: 4px 0; border-bottom: 1px solid currentColor; font-size: 14px; line-height: 1.4; }
@media (max-width: 1000px) { .wcsj-latest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .wcsj-latest-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; } }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .wcsj-latest-visual:hover img { transform: scale(1.025); } }
@media (prefers-reduced-motion: reduce) { .wcsj-latest .wcsj-latest-visual img { transition: none; } }
