/* Equal square cards: three columns on desktop, one on smaller screens. */
.articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.articles>.section-head{grid-column:1/-1;padding-bottom:0}
.articles>.article-card{aspect-ratio:1/1;min-width:0;min-height:0;container-type:inline-size;border:1px solid #b9c1af;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(32,37,31,.07)}
.articles>.article-card:focus-within{outline:3px solid #719421;outline-offset:5px}
.articles .card-link{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100%;min-width:0;min-height:0}
.articles .card-visual{display:block;aspect-ratio:auto!important;min-width:0;min-height:0;padding:0!important;overflow:hidden}
.articles .card-visual>img{width:100%!important;height:auto!important;object-fit:contain!important}
.articles .card-copy{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;min-height:0;padding:clamp(8px,2.6cqw,12px);gap:clamp(2px,.8cqw,4px)}
.articles .category{font-size:clamp(9px,2.8cqw,11px);line-height:1.4;padding:1px 6px;margin:0}
.articles .card-copy h3{font-size:clamp(13px,4cqw,17px);line-height:1.25;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.articles .excerpt{font-size:clamp(10px,3.3cqw,13px);line-height:1.35;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0}
.articles .read-more{margin-top:auto;padding-top:3px;font-size:clamp(10px,3cqw,12px);line-height:1.5;flex-shrink:0}
.articles .read-more b{font-size:18px;line-height:1}
@media(max-width:1023px){.articles{grid-template-columns:minmax(0,1fr);gap:28px}.articles>.article-card{width:100%;max-width:520px;justify-self:center}}
@media(max-width:700px){.articles>.article-card{border-radius:12px}}
/* Lift the card without enlarging or cropping the thumbnail. */
.article-card .card-visual{overflow:hidden}
@media(hover:hover) and (pointer:fine){
 .articles>.article-card{transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}
 .article-card .read-more b{display:inline-block;transition:transform .32s ease}
 .articles>.article-card:hover{transform:translateY(-5px);border-color:#8ca665;box-shadow:0 16px 34px rgba(32,37,31,.14)}
 .article-card:hover .read-more b{transform:translate(3px,-3px)}
}
@media(prefers-reduced-motion:reduce){
 .articles>.article-card,.article-card .card-visual>img,.article-card .photo-grid,.article-card .read-more b{transition:none!important;transform:none!important}
}
