/* ===== Case Studies carousel (scoped) ===== */
.cs-section{
  --cs-ink:#111111;
  --cs-text:#3a3a3a;
  --cs-muted:#8a8a8a;
  --cs-line:#e6e6e6;
  --cs-card:#fbfbfb;
  --cs-ph:#d9d9d9;
  --cs-gap:24px;
  padding:60px 0;
  color:var(--cs-text);
}
.cs-section img{max-width:100%;display:block}
.cs-section a{text-decoration:none;color:inherit}

.cs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.cs-eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-muted);margin-bottom:8px}
.cs-head h2{font-size:26px;line-height:1.3;font-weight:700;color:var(--cs-ink);margin:0}

.cs-nav{display:flex;gap:10px;flex:0 0 auto}
.cs-arrow{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--cs-line);
  background:#fff;color:var(--cs-ink);display:grid;place-items:center;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s,opacity .2s;
}
.cs-arrow svg{width:14px;height:14px}
.cs-arrow:hover:not(:disabled){background:var(--cs-ink);color:#fff;border-color:var(--cs-ink)}
.cs-arrow:disabled{opacity:.35;cursor:default}
.cs-arrow:focus-visible{outline:2px solid var(--cs-ink);outline-offset:3px}

.cs-viewport{overflow:hidden}
.cs-track{display:flex;gap:var(--cs-gap);transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}
.cs-card{
  flex:0 0 calc((100% - (var(--cs-gap) * 2)) / 3);
  background:var(--cs-card);border:1px solid var(--cs-line);
  border-radius:14px;overflow:hidden;display:flex;flex-direction:column;
  transition:box-shadow .25s,transform .25s;
}
.cs-card:hover{box-shadow:0 10px 28px rgba(0,0,0,.08);transform:translateY(-2px)}

.cs-thumb{display:block;aspect-ratio:3/2;background:var(--cs-ph)}
.cs-thumb img{width:100%;height:100%;object-fit:cover}

.cs-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.cs-body h3{font-size:15px;line-height:1.4;font-weight:700;color:var(--cs-ink);margin:0 0 8px}
.cs-body h3 a:hover{color:var(--cs-ink);text-decoration:underline}
.cs-body p{font-size:12px;line-height:1.75;color:var(--cs-muted);margin:0 0 16px}
.cs-link{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--cs-ink);transition:gap .2s}
.cs-link svg{width:13px;height:13px}
.cs-link:hover{gap:11px;color:var(--cs-ink)}

.cs-dots{display:flex;justify-content:center;gap:8px;margin-top:26px}
.cs-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:var(--cs-line);cursor:pointer;transition:background .2s,width .2s}
.cs-dot.is-active{background:var(--cs-ink);width:20px;border-radius:100px}

@media (max-width:991px){
  .cs-card{flex:0 0 calc((100% - var(--cs-gap)) / 2)}
  .cs-head h2{font-size:22px}
}
@media (max-width:640px){
  .cs-section{padding:44px 0}
  .cs-card{flex:0 0 100%}
  .cs-head{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (prefers-reduced-motion:reduce){
  .cs-track,.cs-card,.cs-link{transition:none!important}
}
