/* Compact, uninterrupted client logo rows. */
.clients-section,.portfolio-clients { overflow:hidden; }
.client-marquee { --logo-width:180px; --logo-gap:16px; }
.client-flow-window { display:grid; grid-auto-rows:64px; row-gap:6px; overflow:hidden; line-height:0; mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,1) 4%,rgba(0,0,0,1) 96%,transparent); }
.client-flow-row { display:flex; flex-wrap:nowrap; align-items:center; gap:0; width:max-content; height:64px; animation:client-flow var(--flow-duration,70s) linear infinite; }
.client-flow-row:nth-child(2) { animation-direction:reverse; }
.client-flow-set { display:flex; align-items:center; flex:none; gap:var(--logo-gap); padding-right:var(--logo-gap); }
body .client-marquee .client-logo { display:flex; align-items:center; justify-content:center; flex:0 0 var(--logo-width); width:var(--logo-width); min-width:0; height:64px; min-height:0; padding:0 10px; border:0; border-radius:0; background:transparent; line-height:0; }
body .client-marquee .client-logo img { display:block; width:100%; height:64px; max-width:100%; object-fit:contain; filter:saturate(.8); mix-blend-mode:multiply; opacity:1; transition:filter .2s; }
body .client-marquee .client-logo:hover img { filter:none; }
@keyframes client-flow { to { transform:translateX(-33.3333333333%); } }

/* The original 12 complete mosaic templates; each bubble fills its assigned area. */
body.editorial-home .customer-reviews .section-head { display:block; max-width:100%; margin-bottom:28px; }
body.editorial-home .customer-reviews .section-head>p { max-width:850px; margin:20px 0 0; }
body.editorial-home .customer-reviews .ix-reviews { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-areas:none; grid-auto-rows:auto; gap:18px; align-items:stretch; overflow:visible; padding:0; scroll-snap-type:none; }
body.editorial-home .customer-reviews .ix-rv {
  --bubble-bg:rgba(250.819,248.964,245.026,1); --bubble-line:rgba(211.749,204.576,189.354,1); --bubble-ink:rgba(67.805,60.158,43.931,1); --bubble-quote:rgba(131.753,115.963,82.456,1);
  display:flex; flex-direction:column; align-self:stretch; justify-self:stretch; grid-area:auto; width:auto; min-width:0; flex:none;
  height:auto; min-height:0; padding:0; margin:0; border:0; border-radius:0; background:none; box-shadow:none; transform:none;
}
body.editorial-home .customer-reviews .review-bubble { position:relative; display:flex; flex-direction:column; justify-content:center; flex:1 0 auto; width:100%; height:auto; min-height:0; padding:22px 24px; margin:0; border:1px solid var(--bubble-line); border-radius:18px 18px 18px 6px; background:var(--bubble-bg); box-shadow:none; }
body.editorial-home .customer-reviews .review-bubble:after { content:''; position:absolute; left:25px; bottom:-7px; width:13px; height:13px; background:var(--bubble-bg); border-right:1px solid var(--bubble-line); border-bottom:1px solid var(--bubble-line); transform:rotate(45deg); }
body.editorial-home .customer-reviews .review-quote { display:none; }
body.editorial-home .customer-reviews .review-quote>span:first-child { color:var(--bubble-quote); font-size:54px; line-height:1; }
body.editorial-home .customer-reviews .review-index { color:var(--bubble-ink); font-size:14px; }
body.editorial-home .customer-reviews .ix-rv blockquote { flex:none; max-width:none; margin:0; color:var(--bubble-ink); font-size:16px; line-height:1.8; font-weight:400; }
body.editorial-home .customer-reviews .ix-rv blockquote:before { content:'“'; }
body.editorial-home .customer-reviews .ix-rv blockquote:after { content:'”'; }
body.editorial-home .customer-reviews .ix-rv footer { display:flex; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:2px 10px; margin:12px 0 0; padding:0; border:0; font-size:14px; line-height:1.6; }
body.editorial-home .customer-reviews .ix-rv footer strong { color:var(--bubble-ink); font-size:15px; line-height:1.6; }
body.editorial-home .customer-reviews .ix-rv footer>span { color:var(--bubble-ink); font-size:14px; line-height:1.6; }
body.editorial-home .customer-reviews .ix-rv:is([data-look="feature"],[data-look="tint"]) { --bubble-bg:rgba(236.069,230.059,217.307,1); --bubble-line:rgba(203.347,191.332,165.838,1); }
body.editorial-home .customer-reviews .ix-rv[data-look="cream"] { --bubble-bg:#f6f0df; --bubble-line:#d5c9a9; }
body.editorial-home .customer-reviews .ix-rv:is([data-look="dark"],[data-look="band"]) { --bubble-bg:rgba(69.565,61.291,43.734,1); --bubble-line:rgba(69.565,61.291,43.734,1); --bubble-ink:rgba(246.228,242.889,235.802,1); --bubble-quote:rgba(243.282,222.292,177.753,1); }
body.editorial-home .customer-reviews .ix-rv[data-look="strip"] { --bubble-bg:rgba(239.193,234.453,224.395,1); --bubble-line:rgba(206.188,197.536,179.175,1); }
@media (min-width: 1101px) {
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(1) { grid-area: a; }
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(2) { grid-area: b; }
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(3) { grid-area: c; }
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(4) { grid-area: d; }
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(5) { grid-area: e; }
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(6) { grid-area: f; }
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(7) { grid-area: g; }
  body.editorial-home .customer-reviews .ix-reviews > .ix-rv:nth-child(8) { grid-area: h; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="1"] { grid-template-areas: "a a b b c c" "a a d d e e" "f f g g h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="2"] { grid-template-areas: "a a a a a a" "b b c c d d" "e e f f d d" "g g g h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="3"] { grid-template-areas: "a a c c d d" "b b c c e e" "f f g g h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="4"] { grid-template-areas: "a a b b c c" "d d d d c c" "e e f f g g" "h h h h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="5"] { grid-template-areas: "a a b b c c" "d d b b e e" "d d f f g g" "h h h h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="6"] { grid-template-areas: "a a b b c c" "d d d d d d" "e e e f f f" "g g g h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="7"] { grid-template-areas: "a a a b b b" "c c d d e e" "f f g g h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="8"] { grid-template-areas: "a a a a b b" "c c d d d d" "e e e f f f" "g g g h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="9"] { grid-template-areas: "a a b b c c" "a a b b d d" "e e f f g g" "h h h h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="10"] { grid-template-areas: "a a b b b b" "c c c c d d" "e e e f f f" "g g g h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="11"] { grid-template-areas: "a a b b c c" "d d e e c c" "f f f f g g" "h h h h h h"; }
  body.editorial-home .customer-reviews .ix-reviews[data-layout="12"] { grid-template-areas: "a a a b b b" "a a a c c c" "d d e e f f" "g g g h h h"; }
}

@media (min-width:1101px) {
  body.editorial-home .customer-reviews .ix-rv[data-look="feature"] blockquote { font-size:18px; font-weight:500; }
  body.editorial-home .customer-reviews .ix-rv:is([data-look="band"],[data-look="strip"]) .review-bubble { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:24px; align-items:center; }
  body.editorial-home .customer-reviews .ix-rv:is([data-look="band"],[data-look="strip"]) footer { flex-direction:column; align-items:flex-start; margin:0; padding:0 0 0 20px; border-left:1px solid var(--bubble-line); }
}
@media (max-width:1100px) {
  body.editorial-home .customer-reviews .ix-reviews { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:dense; }
  body.editorial-home .customer-reviews .ix-rv:is([data-look="feature"],[data-look="band"],[data-look="strip"],[data-span="full"]) { grid-column:1/-1; }
}
@media (max-width:760px) {
  body.editorial-home .customer-reviews .ix-reviews { grid-template-columns:1fr; gap:16px; }
  body.editorial-home .customer-reviews .ix-reviews>.ix-rv { grid-area:auto; grid-column:1/-1; }
}
@media (max-width:640px) {
  .client-marquee { --logo-width:150px; --logo-gap:12px; }
  .client-flow-window { grid-auto-rows:52px; row-gap:4px; }
  .client-flow-row,body .client-marquee .client-logo,body .client-marquee .client-logo img { height:52px; }
  body .client-marquee .client-logo { padding:0 8px; }
  body.editorial-home .customer-reviews .review-bubble { padding:16px 18px; border-radius:18px 18px 18px 6px; }
}
@media (prefers-reduced-motion:reduce) {
  .client-flow-window { grid-auto-rows:auto; mask-image:none; row-gap:0; }
  .client-flow-row { animation:none; width:100%; height:auto; }
  .client-flow-set { width:100%; display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:0; padding:0; }
  .client-flow-set[aria-hidden="true"] { display:none; }
  body .client-marquee .client-logo { width:100%; }
}
