.hero-section-readable { padding: 32px 0 24px; }
.hero-section-readable .hero-carousel { --hero-carousel-slide-height: 0px; }
.hero-section-readable .hero-carousel-wrap {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  grid-template-areas: "text image";
  align-items: center;
  gap: 36px;
  height: 360px;
  min-height: 360px;
  padding: 0 12px;
}
.hero-section-readable .hero-content { grid-area: text; min-width: 0; }
.hero-title {
  margin: 0 0 16px;
  color: #1f2937;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 600;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.hero-summary {
  margin: 0 0 24px;
  color: #374151;
  font-size: 18px;
  line-height: 1.55;
  font-weight: 400;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.hero-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #0b5ed7;
  border-radius: 6px;
  color: #fff;
  background: #0b5ed7;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
  text-decoration: none;
  text-align: center;
  overflow-wrap: anywhere;
}
.hero-cta:hover { color: #fff; background: #084ba9; }
.hero-cta-outline { color: #084ba9; background: transparent; }
.hero-cta-outline:hover { background: #e3edfc; color: #084ba9; }
.hero-cta-secondary { background: #374151; border-color: #374151; }
.hero-section-readable .hero-image-box { grid-area: image; height: 320px; min-height: 320px; width: 100%; border-radius: 8px; }
.hero-section-readable .hero-banner-image { object-fit: contain; width: 100%; height: 100%; }
.hero-navigation { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; margin-top: 12px; }
.hero-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; }
.hero-pagination button, .hero-nav-button {
  display: inline-flex; justify-content: center; align-items: center;
  width: 36px; height: 44px; padding: 0; border: 0; border-radius: 4px;
  color: #374151; background: transparent; cursor: pointer;
}
.hero-pagination button span { width: 8px; height: 8px; background: #8993a3; border-radius: 50%; }
.hero-pagination button[aria-current="true"] span { width: 10px; height: 10px; background: #0b5ed7; }
.hero-nav-button { width: 44px; font-size: 32px; }
.hero-pause-button { font-size: 18px; }
.hero-nav-button:hover, .hero-pagination button:hover { background: #e3edfc; }
.hero-nav-button:focus-visible, .hero-pagination button:focus-visible, .hero-cta:focus-visible { outline: 2px solid #0b5ed7; outline-offset: 2px; }
.hero-pause-button[hidden] { display: none; }
.banner-article, .banner-story { max-width: 740px; margin: 0 auto; color: #1f2937; }
.banner-article h1 { font-size: 32px; line-height: 1.25; margin: 20px 0 24px; overflow-wrap: anywhere; }
.banner-article-image { display: block; width: 100%; max-height: 420px; object-fit: contain; margin: 0 auto 28px; }
.banner-article-body, .banner-story .news-body { font-size: 18px; line-height: 1.7; overflow-wrap: anywhere; }
.banner-article-body p, .banner-story .news-body p { margin: 0 0 20px; }
.banner-article-body li, .banner-story .news-body li { margin-bottom: 8px; }
.banner-article-body ul, .banner-story .news-body ul { padding-left: 24px; margin-bottom: 24px; }
.banner-back-link { color: #084ba9; }
@media (max-width: 991.98px) {
  .hero-title { font-size: 28px; }
  .hero-summary { font-size: 17px; }
  .hero-section-readable .hero-carousel-wrap { gap: 24px; }
}
@media (max-width: 767.98px) {
  .hero-section-readable { padding: 20px 0 16px; }
  .hero-section-readable .hero-carousel-wrap {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 170px minmax(0, 1fr);
    grid-template-areas: "image" "text";
    gap: 18px;
    height: 520px; min-height: 520px; padding: 0 4px; align-items: start;
  }
  .hero-section-readable .hero-content { display: flex; flex-direction: column; height: 100%; }
  .hero-section-readable .hero-image-box { height: 170px; min-height: 170px; }
  .hero-title { font-size: 26px; margin-bottom: 12px; }
  .hero-summary { font-size: 16px; line-height: 1.5; margin-bottom: 16px; }
  .hero-section-readable .hero-ctas { margin-top: auto; }
  .hero-cta { flex: 1 1 150px; padding: 10px 12px; font-size: 15px; }
  .hero-navigation { gap: 2px; margin-top: 8px; }
  .hero-pagination button { width: 28px; }
  .banner-article h1 { font-size: 26px; }
  .banner-article-body, .banner-story .news-body { font-size: 17px; line-height: 1.65; }
}
