/* Shared story component. Palette/fonts supplied by existing ci.css. */
.kuh-story { margin-block: 1.5rem; }
.kuh-story__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
.kuh-story__track::-webkit-scrollbar { display: none; }
.kuh-story__station { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; margin: 0; }
.kuh-story__station figure { margin: 0; }
.kuh-story__station img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.kuh-story__station figcaption { margin-top: .5rem; }
.kuh-story__station h2 { margin: 1rem 0 .5rem; }
.kuh-story__station p { margin: 0 0 1rem; }
.kuh-story__navigation { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-block: 1rem; }
.kuh-story__navigation button { min-width: 44px; min-height: 44px; padding: .5rem; border: 1px solid var(--kb-color-line); color: var(--kb-color-ink); background: var(--kb-color-paper); font: inherit; }
.kuh-story__navigation button[aria-current="step"] { color: var(--kb-color-paper); background: var(--kb-color-ink); }
.kuh-story__navigation button:focus-visible { outline: 2px solid var(--kb-color-gold-on-paper); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) { .kuh-story__track { scroll-behavior: smooth; } }

/* Story track must not determine the min-content width of the article grid. */
.kuh-story-article { grid-template-columns: minmax(0, 1fr); }
.kuh-story-article > .page-width { min-width: 0; width: 100%; max-width: var(--kb-content-wide); }

.kuh-reports-page, .kuh-reports-page .kuh-home-latest { min-width: 0; }
