.reviews-hero { padding: 58px 0 76px; background: linear-gradient(180deg, #fff 0%, #f5f9ff 100%); }
.reviews-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .68fr); align-items: center; gap: clamp(55px, 9vw, 135px); }
.reviews-hero__copy h1 { max-width: 820px; margin: 0; font-size: clamp(50px, 6.5vw, 86px); line-height: .97; letter-spacing: -.065em; }
.reviews-hero__copy > p { max-width: 690px; margin: 28px 0 34px; color: var(--muted); font-size: clamp(18px, 2vw, 22px); }
.reviews-hero__score { position: relative; overflow: hidden; min-height: 390px; padding: 42px; border-radius: 36px; color: #fff; background: var(--blue); box-shadow: 0 28px 76px rgba(23,105,255,.22); }
.reviews-hero__score::after { position: absolute; width: 240px; height: 240px; right: -90px; bottom: -100px; content: ""; border: 45px solid rgba(255,255,255,.09); border-radius: 50%; }
.reviews-hero__rating { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; }
.reviews-hero__rating svg { width: 34px; height: 34px; color: #ffd25c; fill: currentColor; }
.reviews-hero__rating strong { font-size: 64px; line-height: 1; letter-spacing: -.06em; }
.reviews-hero__rating span { align-self: end; margin-bottom: 8px; color: rgba(255,255,255,.74); }
.reviews-hero__score > p { position: relative; z-index: 1; margin: 14px 0 42px; color: rgba(255,255,255,.76); }
.reviews-hero__count { position: relative; z-index: 1; display: flex; align-items: baseline; gap: 10px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.25); }
.reviews-hero__count strong { font-size: 34px; }
.reviews-hero__count span { color: rgba(255,255,255,.8); }
.reviews-hero__score small { position: relative; z-index: 1; display: block; margin-top: 20px; color: rgba(255,255,255,.65); line-height: 1.5; }

.reviews-toolbar { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 20px; }
.reviews-toolbar__side { display: flex; flex: 0 0 auto; align-items: flex-end; gap: 10px; }
.reviews-toolbar .filter-pill { min-height: 38px; padding: 0 13px; border-color: transparent; border-radius: 11px; color: #3f4d5a; background: #f1f4f7; font-size: 12.5px; font-weight: 720; }
.reviews-toolbar .filter-pill:hover { border-color: #d7e4f2; color: var(--blue); background: #edf4ff; }
.reviews-toolbar .filter-pill.is-active { border-color: var(--blue); color: #fff; background: var(--blue); box-shadow: 0 5px 14px rgba(23,105,255,.16); }
.reviews-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.review-card { display: flex; min-height: 440px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 27px; background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.review-card:hover { border-color: #c8d5e0; box-shadow: var(--shadow); transform: translateY(-3px); }
.review-card[hidden] { display: none; }
.review-card__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.review-rating { display: inline-flex; align-items: center; gap: 7px; color: #334252; font-weight: 800; }
.review-rating svg { width: 20px; height: 20px; color: #ffb928; fill: currentColor; }
.review-card__date { color: #8a96a1; font-size: 13px; }
.review-card blockquote { flex: 1; margin: 28px 0; color: #25313c; font-size: 19px; line-height: 1.55; }
.review-card blockquote p { margin: 0; }
.review-card__service { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; padding: 15px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; }
.review-card__service span { color: var(--muted); }
.review-card__service strong { max-width: 70%; text-align: right; }
.review-card footer { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 13px; margin-top: auto; }
.review-card__avatar { display: inline-grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 15px; color: var(--blue); background: var(--blue-soft); line-height: 0; }
.review-card__avatar svg { display: block; width: 20px; height: 20px; margin: auto; }
.review-card footer strong, .review-card footer > div > span { display: block; }
.review-card footer > div > span { margin-top: 2px; color: var(--muted); font-size: 13px; }
.review-card__verified { display: inline-flex !important; align-items: center; gap: 5px; color: #26845a; font-size: 12px; font-weight: 700; }
.review-card__verified svg { width: 16px; height: 16px; }
.reviews-empty { margin: 30px 0 0; padding: 26px; border-radius: 20px; color: var(--muted); background: var(--page); text-align: center; }

.reviews-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.reviews-principles article { min-height: 260px; padding: 29px; border-radius: 25px; background: #fff; box-shadow: 0 12px 34px rgba(17,24,32,.05); }
.reviews-principles article > svg { width: 32px; height: 32px; margin-bottom: 52px; color: var(--blue); }
.reviews-principles h3 { margin: 0 0 11px; font-size: 22px; }
.reviews-principles p { margin: 0; color: var(--muted); }

.reviews-contact { padding-top: 0; }
.reviews-contact__box { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; padding: clamp(38px, 5vw, 66px); border-radius: 34px; color: #fff; background: var(--blue); box-shadow: 0 24px 68px rgba(23,105,255,.2); }
.reviews-contact .eyebrow { color: #fff; }
.reviews-contact .eyebrow::before { background: #fff; }
.reviews-contact .reviews-contact__eyebrow::before { display: none; }
.reviews-contact__eyebrow > svg { display: block; width: 19px; height: 19px; flex: 0 0 auto; }
.reviews-contact h2 { max-width: 730px; margin: 0; font-size: clamp(36px, 4.3vw, 56px); line-height: 1.02; letter-spacing: -.05em; }
.reviews-contact p { max-width: 650px; margin: 18px 0 0; color: rgba(255,255,255,.8); font-size: 17px; }
.reviews-contact__actions { display: grid; gap: 10px; min-width: 265px; }
.reviews-contact__button { border-color: rgba(255,255,255,.42); color: #fff; background: transparent; }
.reviews-contact__button:hover { background: rgba(255,255,255,.1); }

.review-detail { background: var(--page); }
.review-detail__container { max-width: 900px; }
.review-detail__card { margin-top: 28px; padding: clamp(32px, 6vw, 64px); border-radius: 30px; background: #fff; box-shadow: var(--shadow); }
.review-detail__meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); }
.review-detail__card h1 { margin: 35px 0 4px; font-size: clamp(38px, 5vw, 62px); line-height: 1.02; letter-spacing: -.05em; }
.review-detail__role { margin: 0; color: var(--muted); }
.review-detail__text { margin-top: 38px; color: #26333f; font-size: 20px; line-height: 1.7; }
.review-detail__service { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); }
.review-detail__service span { color: var(--muted); }

@media (max-width: 980px) {
  .reviews-hero__grid { grid-template-columns: 1fr; }
  .reviews-hero__score { width: min(100%, 620px); min-height: 340px; }
  .reviews-principles { grid-template-columns: 1fr; }
  .reviews-principles article { min-height: 0; }
  .reviews-principles article > svg { margin-bottom: 32px; }
  .reviews-contact__box { grid-template-columns: 1fr; }
  .reviews-contact__actions { width: min(100%, 360px); }
}

@media (max-width: 760px) {
  .reviews-grid { grid-template-columns: 1fr; }
  .review-card { min-height: 0; }
}

@media (max-width: 620px) {
  .reviews-hero { padding: 38px 0 54px; }
  .reviews-hero__copy h1 { font-size: clamp(43px, 14vw, 62px); }
  .reviews-hero__copy .btn { width: 100%; }
  .reviews-hero__score { min-height: 320px; padding: 30px; border-radius: 28px; }
  .reviews-hero__rating strong { font-size: 54px; }
  .reviews-toolbar { display: grid; grid-template-columns: 1fr; }
  .reviews-toolbar__side { display: grid; width: 100%; grid-template-columns: 1fr; }
  .reviews-toolbar__side .catalog-total { min-height: 0; justify-content: flex-start; }
  .review-card { padding: 24px; border-radius: 22px; }
  .review-card blockquote { font-size: 17px; }
  .review-card footer { grid-template-columns: 44px 1fr; }
  .review-card__verified { grid-column: 2; }
  .reviews-contact__box { padding: 32px 24px; border-radius: 26px; }
  .review-detail__card { border-radius: 24px; }
  .review-detail__meta, .review-detail__service { align-items: flex-start; flex-direction: column; }
}
