/* Shared client reviews. This isolated layer precedes legacy page styles. */
@layer client-reviews {
  .client-reviews {
    --cr-ink: var(--lifa-navy, #0f1e36);
    --cr-muted: var(--color-muted-foreground, #526276);
    --cr-line: var(--line, #dce3ed);
    --cr-green: #00b67a;
    --cr-gold: var(--lifa-gold, #eed47d);
    --cr-surface: var(--off-white, #f7f9fc);
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(56px, 6vw, 88px) 0 !important;
    border: 0 !important;
    border-block: 1px solid var(--cr-line) !important;
    background: var(--cr-surface) !important;
    color: var(--cr-ink) !important;
    text-align: left !important;
    box-shadow: none !important;
    overflow: clip !important;
    scroll-margin-top: 110px !important;
    isolation: isolate !important;
  }
  .client-reviews::before, .client-reviews::after,
  .client-reviews :is(h2, h3, blockquote, p, cite, button)::before,
  .client-reviews :is(h2, h3, blockquote, p, cite, button)::after { content: none !important; }
  .client-reviews * { box-sizing: border-box !important; min-width: 0 !important; }
  .client-reviews .cr-inner { display: block !important; width: min(1280px, calc(100% - 112px)) !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important; }
  .client-reviews .cr-heading { display: block !important; margin: 0 0 30px !important; padding: 0 0 28px !important; border-bottom: 1px solid var(--cr-line) !important; background: transparent !important; }
  .client-reviews .cr-heading-copy { width: 100% !important; max-width: none !important; }
  .client-reviews .cr-title-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin: 0 0 16px !important; }
  .client-reviews .cr-title-row h2 { flex: 1 1 auto !important; margin: 0 !important; }
  .client-reviews .cr-heading-details { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 16px 24px !important; }
  .client-reviews .cr-eyebrow { display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 0 14px !important; color: var(--cr-ink) !important; font: 700 11px/1.5 var(--font-ui, Montserrat, Arial, sans-serif) !important; letter-spacing: .16em !important; }
  .client-reviews .cr-eyebrow::before { content: '' !important; display: block !important; width: 28px !important; height: 2px !important; background: var(--cr-gold) !important; }
  .client-reviews h2 { display: block !important; margin: 0 0 14px !important; padding: 0 !important; width: auto !important; max-width: none !important; font: 400 clamp(28px, 3vw, 42px)/1.3 var(--font-editorial, Prata, Georgia, serif) !important; color: var(--cr-ink) !important; -webkit-text-fill-color: currentColor !important; letter-spacing: -.025em !important; text-align: left !important; text-wrap: balance !important; }
  .client-reviews .cr-description { margin: 0 !important; max-width: 60ch !important; font: 400 15px/1.75 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; color: var(--cr-muted) !important; }
  .client-reviews .cr-write-review { display:inline-flex!important;flex:0 0 auto!important;width:auto!important;inline-size:auto!important;align-items:center!important;justify-content:center!important;min-height:48px!important;margin:0!important;padding:13px 22px!important;border:1px solid var(--cr-gold)!important;border-radius:6px!important;background:var(--cr-gold)!important;color:var(--cr-ink)!important;-webkit-text-fill-color:var(--cr-ink)!important;font:700 14px/1.5 var(--font-ui,Montserrat,Arial,sans-serif)!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap!important;box-shadow:0 8px 20px rgb(15 30 54 / 10%)!important;transform:none!important;transition:box-shadow 160ms ease,border-color 160ms ease!important; }
  .client-reviews .cr-write-review:hover { background:var(--cr-gold)!important;border-color:var(--cr-ink)!important;box-shadow:0 10px 24px rgb(15 30 54 / 16%)!important; }
  .client-reviews .cr-write-review:focus-visible { outline:2px solid var(--cr-ink)!important;outline-offset:4px!important; }
  .client-reviews .cr-summary { flex: 0 0 auto !important; display: inline-flex !important; align-items: center !important; gap: 16px !important; padding: 12px 18px !important; border: 1px solid var(--cr-ink) !important; border-top: 2px solid var(--cr-gold) !important; border-radius: 6px !important; background: var(--cr-ink) !important; }
  .client-reviews .cr-summary-score { font: 600 30px/1.1 var(--font-ui, Montserrat, Arial, sans-serif) !important; letter-spacing: -.045em !important; color: #fff !important; }
  .client-reviews .cr-summary-score > span { font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0 !important; color: var(--cr-gold) !important; }
  .client-reviews .cr-summary-caption { padding-left: 16px !important; border-left: 1px solid rgb(255 255 255 / 25%) !important; max-width: 100px !important; color: #fff !important; font: 400 12px/1.5 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; }
  .client-reviews .cr-grid { --reviews-per-view: 3; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 22px !important; margin: 0 !important; padding: 0 !important; align-items: stretch !important; }
  .client-reviews .cr-carousel { position: relative !important; margin: 0 !important; padding: 0 !important; }
  .client-reviews button.cr-arrow { position: absolute !important; top: 50% !important; z-index: 2 !important; width: 44px !important; height: 44px !important; margin-top: -22px !important; border-radius: 50% !important; }
  .client-reviews button.cr-arrow-prev { left: -54px !important; }
  .client-reviews button.cr-arrow-next { right: -54px !important; }
  .client-reviews button.cr-arrow[hidden] { display: none !important; }
  .client-reviews .cr-card { display: flex !important; flex-direction: column !important; position: relative !important; margin: 0 !important; padding: 24px !important; min-height: 0 !important; height: auto !important; justify-content: flex-start !important; border: 1px solid var(--cr-line) !important; border-top: 2px solid var(--cr-gold) !important; border-radius: 6px !important; background: #fff !important; box-shadow: 0 10px 28px rgb(15 30 54 / 5%) !important; text-align: left !important; overflow: visible !important; color: var(--cr-ink) !important; }
  .client-reviews .cr-card:nth-child(n+4) { display: none !important; }
  .client-reviews .cr-author { display: flex !important; align-items: center !important; gap: 12px !important; position: static !important; width: auto !important; height: auto !important; min-height: 44px !important; margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  .client-reviews .cr-identity { flex: 1 1 auto !important; display: block !important; }
  .client-reviews .cr-avatar { flex: 0 0 42px !important; position: static !important; display: grid !important; place-items: center !important; width: 42px !important; height: 42px !important; border: 1px solid var(--cr-gold) !important; border-radius: 50% !important; color: var(--cr-gold) !important; background: var(--cr-ink) !important; font: 600 13px/1 var(--font-ui, Montserrat, Arial, sans-serif) !important; letter-spacing: .04em !important; }
  .client-reviews .cr-name { display: block !important; margin: 0 !important; padding: 0 !important; overflow-wrap: anywhere !important; color: var(--cr-ink) !important; font: 700 14px/1.5 var(--font-ui, Montserrat, Arial, sans-serif) !important; }
  .client-reviews .cr-professional { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: 2px 8px !important; margin-top: 3px !important; }
  .client-reviews :is(.cr-job-title, .cr-company) { display: inline-block !important; margin: 0 !important; padding: 0 !important; max-width: 100% !important; color: var(--cr-muted) !important; font: 400 12px/1.5 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; overflow-wrap: anywhere !important; }
  .client-reviews .cr-company { color: var(--cr-ink) !important; font-weight: 600 !important; }
  .client-reviews .cr-job-title + .cr-company { border-left: 1px solid var(--cr-gold) !important; padding-left: 8px !important; }
  .client-reviews .cr-card-top { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: flex-start !important; gap: 6px 8px !important; margin: 0 0 16px !important; padding-top: 14px !important; border-top: 1px solid var(--cr-line) !important; }
  .client-reviews .cr-stars { display: inline-flex !important; flex: 0 0 auto !important; gap: 2px !important; height: 24px !important; }
  .client-reviews .cr-star { display: grid !important; flex: 0 0 24px !important; place-items: center !important; width: 24px !important; height: 24px !important; border: 0 !important; border-radius: 0 !important; background: var(--cr-green) !important; }
  .client-reviews .cr-star.cr-star-empty { background: #dcdce6 !important; }
  .client-reviews .cr-star svg { display: block !important; width: 24px !important; height: 24px !important; fill: #fff !important; stroke: none !important; }
  .client-reviews .cr-score { font: 600 12px/1.5 var(--font-ui, Montserrat, Arial, sans-serif) !important; color: var(--cr-ink) !important; }
  .client-reviews .cr-date { display: inline-block !important; margin: 0 0 0 auto !important; padding: 0 !important; color: var(--cr-muted) !important; font: 400 12px/1.5 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; }
  .client-reviews .cr-card-title { display: block !important; min-height: 0 !important; margin: 0 0 12px !important; padding: 0 !important; font: 400 20px/1.45 var(--font-editorial, Prata, Georgia, serif) !important; letter-spacing: -.015em !important; color: var(--cr-ink) !important; -webkit-text-fill-color: currentColor !important; text-align: left !important; text-wrap: pretty !important; }
  .client-reviews .cr-quote { flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
  .client-reviews .cr-quote p { display: block !important; margin: 0 !important; padding: 0 !important; color: var(--cr-muted) !important; -webkit-text-fill-color: currentColor !important; font: 400 15px/1.7 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; text-align: left !important; overflow: visible !important; overflow-wrap: break-word !important; }
  .client-reviews .cr-context { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px 12px !important; position: static !important; width: auto !important; min-height: 0 !important; margin: 18px 0 0 !important; padding: 12px 0 0 !important; border: 0 !important; border-top: 1px solid var(--cr-line) !important; background: transparent !important; box-shadow: none !important; }
  .client-reviews .cr-country { display: inline-block !important; margin: 0 !important; padding: 0 !important; font: 600 12px/1.5 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; color: var(--cr-ink) !important; overflow-wrap: anywhere !important; }
  .client-reviews .cr-service { display: inline-block !important; margin: 0 !important; padding: 3px 8px !important; border: 1px solid var(--cr-line) !important; border-radius: 4px !important; background: var(--cr-surface) !important; color: var(--cr-muted) !important; font: 400 12px/1.5 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; overflow-wrap: anywhere !important; }
  .client-reviews :is(.cr-professional, .cr-context, .cr-service)[hidden] { display: none !important; }
  .client-reviews button { display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important; min-width: 44px !important; min-height: 44px !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--cr-line) !important; border-radius: 7px !important; background: #fff !important; color: var(--cr-ink) !important; box-shadow: none !important; cursor: pointer !important; transition: background-color 160ms ease, border-color 160ms ease !important; transform: none !important; }
  .client-reviews button:hover { background: var(--cr-surface) !important; border-color: var(--cr-ink) !important; }
  .client-reviews button:focus-visible, .client-reviews input:focus-visible { outline: 2px solid var(--cr-ink) !important; outline-offset: 4px !important; }
  .client-reviews button svg { display: block !important; width: 18px !important; height: 18px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
  .client-reviews .cr-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
  .client-reviews .cr-noscript { margin: 24px 0 0 !important; font: 400 13px/1.6 var(--font-reading, 'Open Sans', Arial, sans-serif) !important; color: var(--cr-muted) !important; }
  @media (max-width: 1199px) {
    .client-reviews .cr-grid { --reviews-per-view: 2; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
    .client-reviews .cr-card:nth-child(n+3) { display: none !important; }
  }
  @media (max-width: 759px) {
    .client-reviews { padding-block: 48px !important; }
    .client-reviews .cr-inner { width: calc(100% - 32px) !important; }
    .client-reviews .cr-heading { margin-bottom: 24px !important; padding-bottom: 24px !important; }
    .client-reviews .cr-title-row { gap: 14px !important; }
    .client-reviews .cr-title-row h2 { font-size: clamp(25px,6vw,34px) !important; }
    .client-reviews .cr-write-review { min-height:44px!important;padding:11px 14px!important;font-size:12px!important; }
    .client-reviews .cr-summary { padding: 10px 14px !important; gap: 12px !important; }
    .client-reviews .cr-summary-score { font-size: 26px !important; }
    .client-reviews .cr-summary-caption { max-width: none !important; padding-left: 12px !important; }
    .client-reviews .cr-heading-details { gap: 16px !important; }
    .client-reviews .cr-description { font-size: 14px !important; }
    .client-reviews .cr-grid { --reviews-per-view: 1; grid-template-columns: minmax(0, 1fr) !important; }
    .client-reviews .cr-card:nth-child(n+2) { display: none !important; }
    .client-reviews .cr-carousel { padding-inline: 18px !important; }
    .client-reviews button.cr-arrow-prev { left: -4px !important; }
    .client-reviews button.cr-arrow-next { right: -4px !important; }
    .client-reviews .cr-card { padding: 22px 20px !important; }
    .client-reviews .cr-quote p { font-size: 16px !important; line-height: 1.65 !important; }
  }
  @media (prefers-reduced-motion: reduce) { .client-reviews * { transition: none !important; animation: none !important; } }
  @media print { .client-reviews .cr-arrow { display: none !important; } .client-reviews .cr-card { break-inside: avoid !important; } }
}
