/* Actual client words, with restrained typographic treatments where no photo exists. */
.client-preview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.client-preview-grid--single { grid-template-columns: 1fr; }
.client-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #cdd3d7; background: #fff; }
.client-card--type { background: linear-gradient(135deg,#edf0f4,#f4f0f4); }
.client-photo { margin: 0; }
.client-photo img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.client-photo figcaption { margin-top: 12px; font-size: 12px; color: var(--muted); line-height: 1.8; }
.client-card .client-photo { max-height: 255px; overflow: hidden; }
.client-card .client-photo img { height: 255px; }
.client-card-body { padding: 30px 32px; flex: 1; display: flex; flex-direction: column; }
.client-card--type .client-card-body { padding-top: 39px; }
.client-card--type .client-card-body::before { content: '“'; font: 90px/.7 var(--serif); color: #9498b7; margin: 0 0 20px; }
.client-category { font-size: 14px; font-weight:500; line-height: 1.8; color: #4d586b; margin-bottom: 23px; }
.client-category > span { display: block; margin-top: 5px; font-size:15px; font-weight:600; color:#294f92; }
.client-card blockquote { margin: 0; }
.client-card blockquote > p { font-size: clamp(20px,1.85vw,27px); line-height: 1.95; text-wrap: balance; color: var(--ink); }
.client-quote-phrase { display: inline-block; max-width: 100%; }
.client-card blockquote cite { display: block; font-style: normal; font-size: 14px; margin: 22px 0 30px; line-height: 1.8; }
.client-read { display: flex; justify-content: space-between; gap: 20px; align-items: center; min-height: 50px; border-top: 1px solid #ccd1d7; margin-top: auto; padding-top: 15px; font-size: 12px; }
.client-read:hover { color: var(--blue); }
.client-preview-grid--single .client-card--photo { display: grid; grid-template-columns: 1fr 1fr; }
.client-preview-grid--single .client-photo { max-height: none; }
.client-preview-grid--single .client-photo img { height: 100%; }
.client-jump { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.client-jump a { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 23px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.8; min-height: 64px; }
.client-jump a:hover { color: var(--blue); background: #eef0f4; }
.client-jump a > span[aria-hidden="true"] { color: var(--muted); }
.client-story { border-top: 1px solid #cdd3d7; padding: 47px 0 80px; scroll-margin-top: 116px; }
.client-story:last-child { padding-bottom: 0; }
.client-story-intro { margin-bottom: 36px; }
.client-story-intro .editorial-label { margin-bottom: 17px; font-size:15px; line-height:1.8; letter-spacing:0; }
.client-story-intro h2 { font-size: clamp(28px,3vw,41px); line-height: 1.7; }
.client-heading-phrase { display: inline-block; max-width: 100%; }
.client-story-layout { display: grid; grid-template-columns: minmax(0,.77fr) minmax(0,1.23fr); gap: clamp(40px,6.5vw,95px); }
.client-story-side { min-width: 0; }
.client-identity { min-height: 255px; background: linear-gradient(130deg,#e9edf4,#f3edf1); padding: 36px 30px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid #d3d6dc; }
.client-identity-mark { font: 88px/.7 var(--serif); color: #898ca8; margin-bottom: auto; }
.client-identity > p { font-size: 12px; color: #616c74; margin: 25px 0 10px; }
.client-identity h3 { font-size: clamp(22px,2.4vw,31px); line-height: 1.7; letter-spacing: .015em; }
.client-rating { margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }
.client-rating-label { font-size:13px; line-height:1.8; }
.client-stars { display:inline-flex; align-items:center; gap:6px; color:#a47729; margin-top:10px; vertical-align:middle; }
.client-stars svg { display:block; flex:none; }
.client-rating-source { font-size:11px; color:var(--muted); margin-top:10px; line-height:1.8; }
.client-outcome { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 23px; }
.client-outcome p { font-size: 12px; line-height: 1.8; color: var(--muted); }
.client-outcome strong { display: block; font-size: clamp(26px,2.65vw,37px); font-weight: 500; line-height: 1.6; margin-top: 12px; color: #325891; }
.client-outcome > span { display: block; font-size: 11px; line-height: 1.9; color: var(--muted); margin-top: 11px; }
.client-story-main { min-width: 0; }
.client-statement { margin: 0; }
.client-statement > p { font-size: clamp(23px,2.4vw,32px); line-height: 1.9; color: #244675; text-wrap: balance; }
.client-statement cite { display: block; font-size: 14px; font-style: normal; margin-top: 22px; line-height: 1.8; }
.client-quote-source { font-size: 11px; color: var(--muted); margin-top: 10px; }
.client-answer { padding-top: 27px; margin-top: 28px; border-top: 1px solid var(--line); }
.client-answer h3 { font-size: 14px; line-height: 1.8; color: var(--muted); margin-bottom: 14px; }
.client-answer blockquote { margin: 0; }
.client-answer p { font-size: 15px; line-height: 2.1; text-wrap: pretty; }
.client-facts { margin: 30px 0 22px; border-top: 1px solid var(--line); }
.client-facts > div { display: grid; grid-template-columns: 113px minmax(0,1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); line-height: 1.95; font-size: 14px; }
.client-facts dt { color: var(--muted); }
.client-facts dd { margin: 0; }
.client-evidence-note { font-size: 12px; line-height: 2; color: var(--muted); max-width: 850px; border-top: 1px solid var(--line); padding: 24px 0 65px; }
@media(max-width:820px) {
  .client-card-body { padding: 25px; }
  .client-card blockquote > p { font-size: 21px; }
  .client-story-layout { gap: 35px; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
  .client-identity { padding: 30px 23px; }
  .client-identity h3 { font-size: 24px; }
  .client-statement > p { font-size: 24px; }
  .client-facts > div { grid-template-columns: 1fr; gap: 5px; }
}
@media(max-width:580px) {
  .client-preview-grid { grid-template-columns: 1fr; gap: 24px; }
  .client-card-body { padding: 26px 24px; }
  .client-card--type .client-card-body { padding-top: 32px; }
  .client-card--type .client-card-body::before { font-size: 76px; margin-bottom: 12px; }
  .client-category { margin-bottom: 19px; }
  .client-card blockquote > p { font-size: 22px; line-height: 1.9; }
  .client-card blockquote cite { font-size: 13px; margin-bottom: 24px; }
  .client-card .client-photo img { height: auto; aspect-ratio: 3/2; }
  .client-preview-grid--single .client-card--photo { display: flex; }
  .client-jump { grid-template-columns: 1fr; }
  .client-jump a { font-size: 13px; padding: 15px 18px; min-height: 56px; }
  .client-story { padding: 30px 0 50px; scroll-margin-top: 90px; }
  .client-story-intro { margin-bottom: 28px; }
  .client-story-intro h2 { font-size: 27px; line-height: 1.7; }
  .client-story-layout { grid-template-columns: 1fr; gap: 32px; }
  .client-identity { min-height: 210px; padding: 28px 24px; }
  .client-identity-mark { font-size: 70px; }
  .client-identity h3 { font-size: 27px; }
  .client-story-side .client-photo img { aspect-ratio: 3/2; }
  .client-rating { margin-top: 20px; padding-top: 19px; }
  .client-outcome { margin-top: 18px; padding-top: 18px; }
  .client-outcome strong { font-size: 32px; }
  .client-statement > p { font-size: 23px; line-height: 1.95; }
  .client-statement cite { font-size: 13px; }
  .client-answer { margin-top: 24px; padding-top: 21px; }
  .client-answer p { font-size: 14px; line-height: 2.1; }
  .client-facts > div { font-size: 13px; padding: 16px 0; }
  .client-evidence-note { font-size: 11px; padding-bottom: 44px; }
}
@media(max-width:360px) {
  .client-card blockquote > p { font-size: 20px; }
  .client-card-body { padding-inline: 21px; }
  .client-story-intro h2 { font-size: 23px; }
  .client-identity h3 { font-size: 24px; }
  .client-outcome strong { font-size: 28px; }
}

.client-identity .client-company-unit { font:inherit; color:inherit; letter-spacing:inherit; white-space:nowrap; }
