.clients-page { padding:32px 0 80px; background:var(--paper,#faf8f4); color:var(--text); overflow:hidden; }
.clients-page__intro { max-width:62ch; margin:0 0 48px; color:var(--muted); font-size:1.1rem; line-height:1.8; }
.client-group { padding:24px 0 40px; }
.client-group + .client-group { border-top:1px solid var(--line); padding-top:48px; }
.client-group h2 { margin:0 0 12px; font-size:clamp(1.7rem,3vw,2.7rem); }
.client-gallery-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:.85rem; }
.client-gallery-tools > div { display:flex; align-items:center; gap:18px; white-space:nowrap; }
.client-gallery-tools button { width:48px; height:48px; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); font-size:1.4rem; cursor:pointer; }
.client-gallery-tools button:disabled { opacity:.35; cursor:default; }
.client-gallery-tools button:focus-visible,.client-gallery:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.client-gallery { --tile-width:clamp(260px,29vw,420px); overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:var(--accent) var(--line); overscroll-behavior-x:contain; touch-action:pan-x pan-y; }
.clients-page__list { list-style:none; margin:0; display:flex; align-items:center; gap:clamp(30px,5vw,80px); width:max-content; padding:36px max(24px,calc((100vw - var(--tile-width))/2)) 50px; }
.client-pair { width:var(--tile-width); flex:0 0 var(--tile-width); padding:0; }
.client-pair__logo { height:220px; display:grid; place-items:center; }
.client-pair__logo img { width:82%; max-height:155px; object-fit:contain; filter:drop-shadow(0 26px 16px rgba(60,45,30,.17)); animation:clientFloat 6s ease-in-out infinite; }
.client-pair:nth-child(even) img { animation-delay:-3s; }
@keyframes clientFloat { 50% { transform:translateY(-10px); } }
.clients-page__cta { margin-top:48px; padding:36px; border-radius:18px; border:1px solid var(--line); background:var(--kraft); box-shadow:inset 0 2px 0 var(--wood); text-align:center; }
.clients-page__cta h2 { margin:0 0 10px; }
.clients-page__cta p { color:var(--muted); }
@media(max-width:700px) {
 .client-gallery { --tile-width:72vw; }
 .client-gallery-tools { align-items:flex-start; }
 .client-gallery-tools p { max-width:170px; font-size:.75rem; }
 .client-gallery-tools > div { gap:10px; }
 .client-pair__logo { height:180px; }
 .client-pair__logo img { max-height:125px; }
}
@media(prefers-reduced-motion:reduce) { .client-pair__logo img { animation:none; } }
