/* Reviews page-only sections — masonry testimonial wall. */
.tw-grid { columns: 3; column-gap: 24px; }
.tw-card { break-inside: avoid; margin-bottom: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 28px 28px; box-shadow: var(--shadow-md); position: relative; transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s cubic-bezier(.16, 1, .3, 1); }
.tw-card:hover { transform: translateY(-5px); box-shadow: 0 30px 56px -30px rgba(22, 35, 59, .5); }
.tw-card .tw-g { position: absolute; top: 24px; right: 24px; }
.tw-stars { display: flex; gap: 3px; margin-bottom: 14px; }
.tw-card p { font: 400 15.5px/1.68 var(--body); color: var(--ink); margin: 0 0 20px; text-wrap: pretty; }
.tw-author { display: flex; align-items: center; gap: 13px; }
.tw-author b { display: block; font: 700 15px var(--body); color: var(--navy); }
.tw-author span { font: 500 12.5px var(--body); color: var(--slate); }
.tw-feat { background: linear-gradient(160deg, var(--navy), var(--navy-deep)); border-color: transparent; }
.tw-feat p { color: #fff; font: 600 17px/1.55 var(--heading); }
.tw-feat .tw-author b { color: #fff; }
.tw-feat .tw-author span { color: #aab5c9; }
@media (max-width: 980px) { .tw-grid { columns: 2; } }
@media (max-width: 640px) { .tw-grid { columns: 1; } }
