/* Customer-logo showcase. */
.customers { padding: 122px 0 132px; background: #e8eeeb; }
.customers-heading { margin-bottom: 46px; }
.customers-heading h2 em { color: var(--orange); }
.customer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; }
.customer-card { position: relative; display: flex; min-height: 158px; margin: 0; padding: 23px; align-items: center; justify-content: center; overflow: hidden; background: #fbfcfa; border: 1px solid rgba(16,43,41,.1); }
.customer-card::before { position: absolute; top: 0; left: 0; width: 28px; height: 28px; content: ""; border-top: 2px solid var(--orange); border-left: 2px solid var(--orange); opacity: 0; transition: opacity .25s; }
.customer-card:hover::before { opacity: 1; }
.customer-card img { display: block; max-width: 88%; max-height: 96px; object-fit: contain; transition: transform .3s; }
.customer-card:hover img { transform: scale(1.02); }
.customer-card figcaption { position: absolute; right: 14px; bottom: 10px; left: 14px; overflow: hidden; color: #6d7b76; font: 8px var(--mono); letter-spacing: .07em; text-align: center; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
@media(max-width:900px) { .customers { padding: 88px 0; } .customer-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:580px) { .customer-grid { grid-template-columns: repeat(2,1fr); gap: 8px; } .customer-card { min-height: 130px; padding: 15px; } .customer-card img { max-height: 69px; } }
