 .cap-carousel{position:relative;padding:0 3rem;}
 .cap-viewport{overflow:hidden;}
 .cap-track{display:flex;gap:1.25rem;transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform;}
 .cap-track > article{flex:0 0 calc((100% - 2.5rem)/3);box-sizing:border-box;}
 .cap-nav{position:absolute;top:calc(50% - 1.5rem);transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--gray-line);background:#fff;color:var(--blue-mid);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(26,31,94,.08);transition:background .2s,color .2s,border-color .2s,opacity .2s;z-index:2;}
 .cap-nav:hover{background:var(--blue-mid);color:#fff;border-color:var(--blue-mid);}
 .cap-nav:disabled{opacity:.35;cursor:not-allowed;}
 .cap-nav svg{width:20px;height:20px;}
 .cap-prev{left:0;}
 .cap-next{right:0;}
 .cap-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem;}
 .cap-dot{width:8px;height:8px;border-radius:50%;border:0;background:#D5DCFF;cursor:pointer;padding:0;transition:all .25s ease;}
 .cap-dot.is-active{background:var(--blue-mid);width:24px;border-radius:4px;}
 @media(max-width:900px){
  .cap-track > article{flex-basis:calc((100% - 1.25rem)/2);}
 }
 @media(max-width:600px){
  .cap-carousel{padding:0 2.5rem;}
  .cap-track > article{flex-basis:100%;}
  .cap-nav{width:38px;height:38px;}
 }
