.carousel-wrapper{position:relative;overflow:hidden;min-height:320px;border-radius:1rem}@media(min-width:640px){.carousel-wrapper{min-height:280px}}.carousel-track{display:flex;transition:transform .35s ease;height:100%}.carousel-slide{flex-shrink:0;width:100%;display:flex;align-items:stretch}.carousel-card{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2.5rem 2rem;width:100%;gap:1rem}.carousel-card-icon{font-size:3rem;line-height:1;display:block}.carousel-card-title{font-size:1.75rem;font-weight:700;margin:0;line-height:1.2}.carousel-card-desc{font-size:1rem;line-height:1.6;max-width:48ch;margin:0;opacity:.85;word-break:break-word;overflow-wrap:break-word}.carousel-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.9375rem;font-weight:600;text-decoration:none;padding:.5rem 1.25rem;border-radius:.5rem;border:2px solid;transition:background-color .2s ease,color .2s ease;margin-top:.5rem}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:0 0;border:none;cursor:pointer;padding:.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease}.carousel-prev:hover,.carousel-next:hover,.carousel-prev:focus-visible,.carousel-next:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}.carousel-prev{left:.75rem}.carousel-next{right:.75rem}.carousel-dots{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 0 .25rem}.carousel-dot{width:.625rem;height:.625rem;border-radius:9999px;border:none;cursor:pointer;padding:0;transition:transform .2s ease,opacity .2s ease;opacity:.4}.carousel-dot.active,.carousel-dot[aria-selected=true]{opacity:1;transform:scale(1.3)}.carousel-outer{box-sizing:border-box;width:100%;max-width:56rem;margin-left:auto;margin-right:auto;padding:2rem 1rem 1rem;overflow-x:hidden}@media(max-width:480px){.carousel-outer{padding:1rem .5rem .75rem}.carousel-card{padding:1.5rem 1rem}.carousel-card-title{font-size:1.375rem}.carousel-card-icon{font-size:2.25rem}}.carousel-slide{position:relative;background-image:var(--slide-bg,none);background-size:cover;background-position:50%;background-repeat:no-repeat}.carousel-slide::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);border-radius:inherit;z-index:0}.carousel-card{position:relative;z-index:1}