.sla-feature { grid-template-columns: minmax(0, 1fr); max-width: 900px; }
.sla-feature .case-image { aspect-ratio: 16 / 10; }
.sla-carousel { width: min(100%, 960px); margin: 25px 0 8px; }
.sla-carousel-track { position: relative; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.sla-carousel-track::-webkit-scrollbar { display: none; }
.sla-carousel-track > .case-figure { width: 100%; min-width: 100%; margin: 0; scroll-snap-align: center; }
.sla-carousel .case-image { aspect-ratio: 16 / 10; }
.sla-carousel .case-image img { object-fit: contain; }
.sla-carousel .case-figure figcaption { min-height: 68px; padding: 13px 15px; font-size: 14px; }
.sla-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 12px; padding-top: 12px; }
.sla-carousel-controls > button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--line); background: var(--panel); color: var(--text); cursor: pointer; }
.sla-carousel-controls > button:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.sla-carousel-controls > button:disabled { color: var(--quiet); cursor: default; opacity: .55; }
.sla-carousel-controls [data-carousel-dots] { display: flex; align-items: center; gap: 8px; }
.sla-carousel-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--quiet); cursor: pointer; }
.sla-carousel-dot.active { background: var(--accent); }
.sla-carousel-controls [data-carousel-status] { min-width: 36px; color: var(--muted); font: 10px var(--mono); text-align: center; }
.sla-video { width: min(100%, 560px); margin: 24px auto 0; }
.sla-video .case-video-frame { aspect-ratio: 9 / 16; }
.sla-video .case-video figcaption { padding: 14px 16px; }
.sla-video .case-video figcaption strong { font-size: 15px; }
