/* Generic fade carousel (home hero, featured projects, featured articles). */
.bs-carousel{position:relative;display:block;color:#fff}
.bs-carousel-stage{display:grid;position:relative;overflow:hidden;border-radius:0}
.bs-carousel-slide{grid-area:1/1;width:100%;position:relative;min-width:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.bs-carousel-slide.is-active{opacity:1;visibility:visible;transition:opacity .7s ease,visibility 0s}
.bs-carousel.is-single .bs-carousel-slide:first-child{opacity:1;visibility:visible}
.bs-carousel-slide img{display:block;width:100%;height:100%;object-fit:cover}
.bs-carousel-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}
.bs-carousel.is-single .bs-carousel-controls{display:none}
.bs-carousel-arrow{width:44px;height:44px;border:1px solid #f35a2488;border-radius:50%;background:#101010;color:#fff;font-size:1.1rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.bs-carousel-arrow:hover,.bs-carousel-arrow:focus-visible{background:#f35a24;color:#101010;border-color:#f35a24}
.bs-carousel-dots{display:flex;gap:8px}
.bs-carousel-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#ffffff40;cursor:pointer;transition:background-color .2s,transform .2s}
.bs-carousel-dot.is-active{background:#f35a24;transform:scale(1.25)}
.bs-carousel-dot:focus-visible,.bs-carousel-arrow:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.bs-carousel-slide,.bs-carousel-slide.is-active{transition:none}}
