.ns-client-review.ns-client-review {
  --review-accent: #4e6b35;
  --review-ink: #16251e;
  --review-muted: #697662;
  --review-line: #d9e2d0;
  padding: 72px 0;
  border-block: 1px solid var(--review-line);
  background: #f2f6ec;
  color: var(--review-ink);
  scroll-margin-top: 96px;
}
.ns-client-review.ns-client-review--mindbody {
  --review-accent: #8f2b4b;
  --review-ink: #35202c;
  --review-muted: #7c626c;
  --review-line: #ecdce1;
  background: #fff6f8;
}
.ns-client-review *, .ns-client-review *::before, .ns-client-review *::after { box-sizing: border-box; letter-spacing: 0; }
.ns-client-review .ns-review-layout { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr); gap: 64px; align-items: start; }
.ns-client-review .ns-review-label { margin: 0 0 12px; color: var(--review-accent); font-size: 11px; line-height: 1.5; font-weight: 650; text-transform: uppercase; }
.ns-client-review .ns-review-intro h2 { max-width: 280px; margin: 0; color: var(--review-ink); font-size: 26px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.ns-client-review a { color: var(--review-ink); text-decoration: none; }
.ns-client-review a:hover { color: var(--review-accent); }
.ns-client-review a:focus-visible, .ns-client-review summary:focus-visible { outline: 3px solid var(--review-accent); outline-offset: 5px; }
.ns-client-review .ns-review-studio { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; width: fit-content; max-width: 100%; margin-top: 28px; }
.ns-client-review .ns-review-studio img { display: block; flex: 0 0 auto; width: 112px; height: 153px; object-fit: contain; }
.ns-client-review .ns-review-studio > span { display: grid; gap: 5px; }
.ns-client-review .ns-review-studio strong { color: var(--review-ink); font-size: 14px; font-weight: 600; line-height: 1.5; }
.ns-client-review .ns-review-studio small { color: var(--review-muted); font-size: 12px; line-height: 1.5; }
.ns-client-review .ns-review-quote { min-width: 0; margin: 0; padding: 0 0 0 36px; border-left: 1px solid var(--review-line); }
.ns-client-review .ns-review-quote-icon { display: block; height: 50px; margin-bottom: 12px; color: var(--review-accent); font-size: 48px; line-height: 1; }
.ns-client-review .ns-review-highlight { margin: 0; padding: 0; border: 0; }
.ns-client-review .ns-review-highlight p { margin: 0; color: var(--review-ink); font-size: 28px; line-height: 1.5; font-weight: 500; }
.ns-client-review figcaption { display: grid; gap: 3px; margin-top: 24px; padding: 0; background: none; }
.ns-client-review figcaption a { display: inline-flex; align-items: center; gap: 9px; width: fit-content; max-width: 100%; color: var(--review-ink); font-size: 13px; line-height: 1.5; font-weight: 650; }
.ns-client-review figcaption a .bi { flex: 0 0 auto; color: var(--review-accent); font-size: 15px; }
.ns-client-review figcaption > span { color: var(--review-muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.ns-client-review .ns-review-details { margin-top: 26px; padding-top: 18px; border: 0; border-top: 1px solid var(--review-line); border-radius: 0; background: none; box-shadow: none; }
.ns-client-review .ns-review-details summary { display: inline-flex; align-items: center; gap: 10px; min-height: 36px; margin: 0; padding: 0; color: var(--review-accent); font-size: 13px; line-height: 1.5; font-weight: 600; list-style: none; cursor: pointer; }
.ns-client-review .ns-review-details summary::-webkit-details-marker { display: none; }
.ns-client-review .ns-review-details summary::after, .ns-client-review .ns-review-details summary::before { content: none; }
.ns-client-review .ns-review-details summary .bi { flex: 0 0 auto; font-size: 13px; }
.ns-client-review .ns-review-details[open] summary .bi { transform: rotate(180deg); }
.ns-client-review .ns-review-full { margin: 22px 0 0; padding: 0; border: 0; color: var(--review-ink); font-size: 15px; line-height: 1.8; }
.ns-client-review .ns-review-full p { margin: 0 0 16px; padding: 0; color: var(--review-ink); font-size: 15px; line-height: 1.8; }
.ns-client-review .ns-review-full p:last-child { margin-bottom: 0; }
.ns-client-review .ns-review-full ul { display: grid; gap: 12px; margin: 20px 0; padding: 0 0 0 20px; list-style: disc; color: var(--review-ink); }
.ns-client-review .ns-review-full li { display: list-item; margin: 0; padding-left: 5px; color: var(--review-ink); font-size: 15px; line-height: 1.8; }
.ns-client-review .ns-review-full li::marker { color: var(--review-accent); }
@media (max-width:991px) {
  .ns-client-review.ns-client-review { padding: 52px 0; }
  .ns-client-review .ns-review-layout { grid-template-columns: minmax(190px, 1fr) minmax(0, 2fr); gap: 28px; }
  .ns-client-review .ns-review-quote { padding-left: 24px; }
  .ns-client-review .ns-review-intro h2 { font-size: 23px; }
  .ns-client-review .ns-review-highlight p { font-size: 24px; }
}
@media (max-width:767px) {
  .ns-client-review.ns-client-review { padding: 42px 0; }
  .ns-client-review .ns-review-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .ns-client-review .ns-review-intro { min-width: 0; }
  .ns-client-review .ns-review-intro h2 { max-width: none; font-size: 23px; }
  .ns-client-review .ns-review-studio { flex-direction: row; align-items: center; gap: 18px; margin-top: 22px; }
  .ns-client-review .ns-review-studio img { width: 66px; height: 90px; }
  .ns-client-review .ns-review-studio > span { min-width: 0; }
  .ns-client-review .ns-review-studio strong { font-size: 13px; }
  .ns-client-review .ns-review-studio small { font-size: 11px; }
  .ns-client-review .ns-review-quote { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--review-line); }
  .ns-client-review .ns-review-quote-icon { height: 36px; margin-bottom: 12px; font-size: 38px; }
  .ns-client-review .ns-review-highlight p { font-size: 23px; line-height: 1.5; }
  .ns-client-review figcaption { margin-top: 18px; }
  .ns-client-review .ns-review-details { margin-top: 22px; padding-top: 14px; }
  .ns-client-review .ns-review-full, .ns-client-review .ns-review-full p, .ns-client-review .ns-review-full li { font-size: 14px; line-height: 1.8; }
}
