/* ── Carousel ── */
.carousel-wrap{overflow:hidden;margin-top:36px}
.carousel-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc(25% - 12px);
  gap:16px;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.carousel-nav{display:flex;gap:6px}
.carousel-btn{
  width:34px;height:34px;border-radius:99px;
  border:1px solid var(--border);background:var(--surface);
  color:var(--ink2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;transition:all .14s;flex-shrink:0;
}
.carousel-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.carousel-btn:disabled{opacity:.3;cursor:default}
.carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:20px}
.carousel-dot{
  width:6px;height:6px;border-radius:99px;
  background:var(--ink4);border:none;cursor:pointer;
  transition:all .2s;padding:0;
}
.carousel-dot.active{background:var(--ink);width:20px}

@media(max-width:700px){
  .carousel-track{grid-auto-columns:calc(50% - 8px)}
}
