.waves-articles {
    position: relative;
    padding: clamp(4rem, 8vw, 7rem) 0;
    background: #f5f5f5;
}

.waves-article-card {
    overflow: hidden;
    border: 1px solid rgba(31, 34, 41, .08);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 16px 44px rgba(31, 34, 41, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.waves-article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 55px rgba(31, 34, 41, .14);
}

.waves-article-image {
    display: block;
    height: 230px;
    overflow: hidden;
    background: #e9e9e9;
}

.waves-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.waves-article-card:hover .waves-article-image img { transform: scale(1.04); }

.waves-article-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #a8a8a8;
    font-size: 3rem;
}

.waves-article-body { padding: 1.6rem; }
.waves-article-meta { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: .8rem; color: #85878c; font-size: .78rem; }
.waves-article-meta a { color: var(--primary-color); font-weight: 700; text-decoration: none; text-transform: uppercase; }
.waves-article-overtitle { margin-bottom: .35rem !important; color: var(--primary-color) !important; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.waves-article-body h3 { margin-bottom: .8rem; font-size: 1.2rem; line-height: 1.35; }
.waves-article-body h3 a { color: #25282f; text-decoration: none; }
.waves-article-body > p { color: #686b72; line-height: 1.65; }
.waves-article-link { display: inline-flex; align-items: center; gap: .55rem; color: var(--primary-color); font-weight: 700; text-decoration: none; }
.waves-article-link:hover i { transform: translateX(4px); }
.waves-article-link i { transition: transform .2s ease; }
.waves-article-button { border: 1px solid var(--primary-color); border-radius: 999px; padding: .8rem 1.6rem; color: var(--primary-color); font-weight: 700; }
.waves-article-button:hover { border-color: var(--primary-color); background: var(--primary-color); color: #fff; }

@media (max-width: 575.98px) {
    .waves-article-image { height: 205px; }
    .waves-article-body { padding: 1.3rem; }
}
