/* Featured carousel: light panel, framed figures, round arrow buttons, dots */
.agsc-carousel { margin: 0 0 2.5rem; }
.agsc-carousel__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.agsc-carousel__title { margin: 0; }
.agsc-carousel__nav { display: flex; align-items: center; gap: .6rem; }
.agsc-carousel__count { font-size: .95rem; color: #4A5260; font-variant-numeric: tabular-nums; margin-right: .35rem; }
.agsc-carousel__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; border-radius: 50%;
	border: 1.5px solid #0033A0; background: #fff; color: #0033A0; cursor: pointer;
	transition: background-color .15s, color .15s;
}
.agsc-carousel__btn:hover { background: #0033A0; color: #fff; }
.agsc-carousel__next svg { transform: scaleX(-1); }
.agsc-carousel__viewport {
	background: #F4F6FA; border: 1px solid #C8D3E8; border-radius: 10px;
	box-shadow: 0 1px 2px rgba(0, 30, 95, .06), 0 8px 24px rgba(0, 30, 95, .06);
	overflow: hidden;
}
.agsc-carousel__slide { margin: 0; }
.agsc-carousel__slide.is-active { animation: agsc-fade .35s ease-out; }
@keyframes agsc-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .agsc-carousel__slide.is-active { animation: none; } .agsc-carousel__btn { transition: none; } }
.agsc-carousel__frame { display: flex; align-items: center; justify-content: center; height: clamp(220px, 38vw, 420px); padding: clamp(.75rem, 2vw, 1.5rem); box-sizing: border-box; }
.agsc-carousel__frame img, .agsc-carousel__frame video {
	display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain;
	border-radius: 6px; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}
.agsc-carousel__link { display: contents; }
.agsc-carousel__caption { display: flex; flex-direction: column; gap: .2rem; padding: .9rem 1.25rem 1.1rem; background: #fff; border-top: 1px solid #C8D3E8; font-size: .975rem; }
.agsc-carousel__caption strong { color: #001E5F; font-size: 1.05rem; }
.agsc-carousel__dots { display: flex; justify-content: center; gap: .1rem; margin-top: .6rem; }
.agsc-carousel__dot {
	width: 32px; height: 32px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative;
}
.agsc-carousel__dot::before {
	content: ""; position: absolute; inset: 0; margin: auto; width: 10px; height: 10px; border-radius: 50%;
	background: #fff; border: 2px solid #0033A0; box-sizing: border-box; transition: width .2s, background-color .2s;
}
.agsc-carousel__dot[aria-current="true"]::before { width: 26px; border-radius: 5px; background: #0033A0; }
@media (prefers-reduced-motion: reduce) { .agsc-carousel__dot::before { transition: none; } }
