.reviews-page { padding: 100px 0; background: var(--secondary-color); }
.reviews-intro { max-width: 820px; margin: 0 auto 42px; text-align: center; }
.reviews-kicker { margin-bottom: 10px; color: var(--accent-color); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.reviews-intro h1 { margin-bottom: 18px; font-size: 44px; }
.reviews-intro > p { color: var(--text-color); line-height: 1.75; }
.review-services { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 45px; }
.review-services a { padding: 10px 15px; border: 1px solid var(--divider-color); border-radius: 999px; color: var(--primary-color); background: var(--white-color); font-size: 13px; font-weight: 700; transition: .2s ease; }
.review-services a:hover { border-color: var(--accent-color); color: var(--white-color); background: var(--accent-color); }
.reviews-grid { row-gap: 26px; }
.review-card { position: relative; height: 100%; padding: 30px; overflow: hidden; border: 1px solid var(--divider-color); border-radius: 16px; background: var(--white-color); box-shadow: 0 12px 35px rgba(3, 75, 91, .07); transition: transform .25s ease, box-shadow .25s ease; }
.review-card:before { position: absolute; top: 0; left: 0; width: 100%; height: 4px; content: ''; background: var(--accent-color); }
.review-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(3, 75, 91, .12); }
.review-card-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; }
.review-stars { display: flex; gap: 3px; color: #f2b01e; font-size: 15px; }
.review-service { padding: 7px 10px; border-radius: 999px; color: var(--accent-color); background: #eef6ff; font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.review-card blockquote { position: relative; margin: 0 0 24px; padding: 0; color: var(--text-color); }
.review-card blockquote:before { display: block; margin-bottom: 10px; content: '\201C'; color: var(--accent-color); font-family: Georgia, serif; font-size: 46px; font-weight: 700; line-height: .6; opacity: .35; }
.review-card blockquote p { font-size: 15px; line-height: 1.75; }
.review-name { display: flex; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid var(--divider-color); }
.review-initials { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--white-color); background: var(--primary-color); font-size: 13px; font-weight: 800; }
.review-name h2 { font-size: 17px; }
.reviews-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 55px; padding: 42px; border-radius: 18px; color: var(--white-color); background: var(--primary-color); }
.reviews-cta h2 { margin-bottom: 8px; color: var(--white-color); font-size: 30px; }
.reviews-cta p { color: rgba(255,255,255,.75); }
.reviews-cta .btn-default { flex: 0 0 auto; }
@media (max-width: 767px) {
    .reviews-page { padding: 60px 0; }
    .reviews-intro h1 { font-size: 32px; }
    .review-card { padding: 25px; }
    .reviews-cta { align-items: flex-start; flex-direction: column; padding: 30px; }
}
