/* ---------- Case studies slider ---------- */
.cs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px)}
.cs-head-copy{max-width:640px}
.cs-head h2{margin-bottom:16px}
.cs-sub{font-size:clamp(16px,1.5vw,18px);line-height:1.55;color:var(--band-soft);max-width:56ch}
.cs-controls{display:flex;align-items:center;gap:12px}
.cs-count{font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--band-soft);margin-right:6px;font-variant-numeric:tabular-nums}
.cs-count b{color:var(--band-fg);font-weight:700}
.cs-btn{width:52px;height:52px;border-radius:999px;border:2px solid var(--band-fg);background:transparent;color:var(--band-fg);font-size:20px;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s,transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s}
.cs-btn:hover:not(:disabled){background:var(--band-fg);color:var(--band-bg);transform:scale(1.06)}
.cs-btn:disabled{opacity:.28;cursor:default}
.cs-slider{margin:0 calc(-1 * clamp(22px,5vw,48px))}
.cs-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(22px,5vw,48px);padding:16px clamp(22px,5vw,48px) 34px;scrollbar-width:none;cursor:grab;outline:none}
.cs-track::-webkit-scrollbar{display:none}
.cs-track.dragging{cursor:grabbing;scroll-snap-type:none}
.cs-track.dragging .cs-card{pointer-events:none}
.cs-card{flex:none;width:clamp(280px,30vw,360px);scroll-snap-align:start;position:relative;background:var(--card-bg);color:var(--card-fg);border:1px solid var(--card-border);border-radius:28px;padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column;gap:14px;box-shadow:0 22px 44px -30px rgba(12,36,33,.45);user-select:none}
.cs-card.tilting{box-shadow:-18px 34px 56px -26px rgba(12,36,33,.4)}
.cs-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;transform:translateZ(40px)}
.cs-tag{font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 12px;border-radius:999px;background:var(--teal);color:#FFFFFF}
.cs-region{font-size:13px;font-weight:600;color:var(--band-soft);text-align:right}
.cs-card h3{font-size:clamp(18px,1.8vw,21px);font-weight:700;letter-spacing:-.02em;line-height:1.25;transform:translateZ(36px)}
.cs-hero{display:flex;flex-direction:column;line-height:1;transform:translateZ(60px)}
.cs-hero strong{font-size:clamp(46px,4.6vw,60px);font-weight:700;letter-spacing:-.04em;background:linear-gradient(100deg,var(--teal) 0%,var(--slate) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:4px}
.cs-hero span{font-size:14px;font-weight:600;color:var(--band-soft);margin-top:6px}
.cs-do{font-size:15px;line-height:1.55;color:var(--band-soft);transform:translateZ(24px)}
.cs-stats{list-style:none;margin-top:auto;padding-top:14px;border-top:1px solid var(--card-border);display:grid;gap:8px;font-size:14px;line-height:1.4;color:var(--band-soft);transform:translateZ(20px)}
.cs-stats b{color:var(--band-fg);font-weight:700}
.cs-progress{height:4px;border-radius:999px;background:var(--card-border);margin:0 clamp(22px,5vw,48px);overflow:hidden}
.cs-progress span{display:block;height:100%;width:20%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--sky));transition:width .25s ease}
.cs-note{margin-top:18px;font-size:13px;color:var(--band-soft)}
body[data-theme="dark"] .cs-hero strong{background:linear-gradient(100deg,var(--peach) 0%,var(--sky) 100%);-webkit-background-clip:text;background-clip:text}

/* ---------- Kind words ---------- */
.kw-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
.kw-card{grid-column:span 3;position:relative;background:var(--card-bg);color:var(--card-fg);border:1px solid var(--card-border);border-radius:28px;padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column;gap:14px}
.kw-card.kw-lg{grid-column:span 6}
.kw-card.tilting{box-shadow:-18px 34px 60px -26px rgba(0,0,0,.45)}
.kw-card h3{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--peach);transform:translateZ(40px)}
.kw-card p{font-size:clamp(16px,1.5vw,18px);line-height:1.55;color:var(--band-fg);transform:translateZ(28px)}
.kw-card.kw-lg p{font-size:clamp(18px,1.9vw,23px);line-height:1.45;letter-spacing:-.01em}
.kw-who{margin-top:auto;padding-top:14px;border-top:1px solid var(--card-border);font-size:14px;font-weight:600;color:var(--band-soft);display:flex;align-items:center;gap:10px;transform:translateZ(20px)}
.kw-who::before{content:"";width:22px;height:4px;border-radius:999px;background:var(--teal);flex:none}
.kw-note{margin-top:22px;font-size:13px;color:var(--band-soft)}
body[data-theme="light"] .kw-card h3{color:var(--teal)}

@media (max-width:920px){
.kw-card,.kw-card.kw-lg{grid-column:span 6}
}
@media (max-width:560px){
.kw-card,.kw-card.kw-lg{grid-column:span 12}
.cs-btn{width:46px;height:46px}
.cs-card{width:82vw}
}
