/* Named client reviews flow into a contrasting service directory. */
.home-page .happy-clients{background:var(--paper);color:var(--ink);padding:56px 0 52px;overflow:hidden}
.happy-clients-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:0 6%;margin-bottom:24px}
.happy-clients-heading h2{font-size:clamp(2.5rem,4.2vw,4.2rem);line-height:1.02;font-weight:600}
.happy-clients-actions{display:flex;flex-direction:column;align-items:end;gap:12px}
.happy-clients-actions .text-link{font-size:.92rem}
.reviews-motion{border:1px solid var(--ink);border-radius:30px;padding:9px 17px;background:transparent;color:var(--ink);font-size:.8rem;cursor:pointer;min-height:40px}
.reviews-rows{display:grid;gap:4px}
.reviews-window{overflow-x:auto;scrollbar-width:thin;padding:9px 0 13px}
.reviews-window:focus-visible{outline:3px solid var(--ink);outline-offset:-4px}
.reviews-track{display:flex;gap:0;width:max-content}
.reviews-group{display:flex;align-items:stretch;gap:18px;margin:0;padding:0 0 0 18px;list-style:none;flex:none}
/* Reuse the same outlined, solid-shadow pucks as the testing and story cards. */
.client-review-card{width:clamp(270px,23vw,310px);min-height:0;padding:19px;flex:none;transition:none}
.client-review-card:hover{transform:none;box-shadow:0 5px 0 var(--ink)}
.client-review-card figure{margin:0;display:flex;flex-direction:column;height:100%;flex:1}
.client-review-card figcaption{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.review-portrait{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 30%;border:2px solid white;flex:none}
.client-review-card figcaption>span{display:flex;flex-direction:column;gap:2px;font-size:.72rem;line-height:1.4}
.client-review-card figcaption strong{font-size:.875rem}
.client-review-card blockquote{margin:0 0 17px;font-size:.9rem;line-height:1.55;letter-spacing:-.015em}
.review-company-logo{display:block;margin-top:auto;width:auto;height:auto;max-width:120px;max-height:27px;object-fit:contain;object-position:left center;align-self:start}
.review-company-logo[alt="Citizens Advice SORT"]{max-height:31px}
.reviews-window.is-animated{overflow:hidden}
.is-animated .reviews-track{animation:review-loop var(--review-duration,82s) linear infinite;animation-delay:var(--review-delay,0s)}
.reviews-window:nth-child(2) .reviews-track{animation-direction:reverse}
.happy-clients.is-paused .reviews-track,.happy-clients.is-hidden-tab .reviews-track,.motion-paused .reviews-track{animation-play-state:paused}
@keyframes review-loop{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--review-distance)))}}
.home-page .supporting-services{background:var(--deep);color:var(--paper);padding-top:76px;padding-bottom:76px}
.home-page .supporting-services h2{color:var(--mint)}
.home-page .network-routes>a{padding:30px;border:1.5px solid var(--ink);min-height:245px;color:var(--ink);position:relative;gap:0}
.home-page .network-routes h3{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.2;letter-spacing:-.035em;color:var(--ink);max-width:17ch}
.home-page .network-routes p{font-size:1rem;line-height:1.6;color:var(--ink);margin:20px 0 28px;max-width:25ch}
.home-page .network-routes .action-puck{width:27px;height:27px;flex-basis:27px;font-size:21px;background:transparent;color:var(--ink);border:1px solid currentColor;align-self:flex-end}
/* Preserve the circular button's shared grid alignment on anchors as well. */
.contact-dock a.orbit-button{display:grid;place-items:center;color:var(--ink);text-decoration:none}
@media(max-width:700px){.home-page .happy-clients{padding-block:45px}.happy-clients-heading{align-items:start;gap:20px;flex-direction:column;margin-bottom:22px}.happy-clients-actions{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.happy-clients-actions .text-link{font-size:.8rem}.client-review-card{width:min(270px,78vw);padding:18px}.client-review-card blockquote{font-size:.9rem}.reviews-group{gap:16px;padding-left:16px}.reviews-track{gap:0}.home-page .supporting-services{padding-block:50px}.home-page .network-routes>a{padding:26px;min-height:180px}.home-page .network-routes .action-puck{align-self:center}}
@media(prefers-reduced-motion:reduce){.is-animated .reviews-track{animation:none}.reviews-window.is-animated{overflow-x:auto}.reviews-repeat{display:none}}

/* Missing headshots use initials, never invented portraits or company matches. */
.client-review-card figcaption>.review-initials{display:grid;place-items:center;background:#ffffff80;color:var(--ink);font:700 .85rem/1 'Manrope',sans-serif}
.review-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;min-height:31px}
.review-footer .review-company-logo{margin-top:0;align-self:center}
.review-rating{display:inline-block;color:#674400;font-size:.8rem;letter-spacing:1px;line-height:1;white-space:nowrap}
