/* The five-language homepage only. The German landing page keeps its styles. */
.home-page .reader-embed__panel [hidden] { display: none !important; }
.home-page .hero { padding-top: clamp(108px, 10vw, 140px); }
.home-page .home-descriptor { margin-bottom: 18px; font-size: 12px; letter-spacing: .12em; }
.home-page .home-descriptor::before { content: none; }
.home-page .hero-copy--centered { width: 100%; }
.home-page .hero-copy--centered h1 { font-size: clamp(38px, 5.4vw, 68px); margin-bottom: 18px; }
.home-page .hero-copy--centered .lede.hero-lede { max-width: 48ch; margin-bottom: 24px; }
.home-languages { max-width: 860px; margin: 0 auto 22px; position: relative; }
.home-languages__window {
  overflow: hidden;
  border-block: 1px solid var(--rule);
  padding-block: 14px;
  /* Moving items may enter/leave the viewport; the complete static list stays readable. */
}
.home-languages__track { display: flex; width: max-content; }
.home-languages__group { display: flex; align-items: center; flex-shrink: 0; }
.home-language { display: inline-flex; align-items: center; gap: 10px; padding-inline: 22px; font-size: 17px; white-space: nowrap; }
.home-language img { object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgb(0 0 0 / 9%); }
.home-languages[data-motion-ready] .home-languages__track { animation: home-language-drift 36s linear infinite; }
.home-languages__choices { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 20px; margin-top: 9px; }
.home-languages__choices a { color: var(--ink-faint); font-size: 14px; min-height: 40px; display: inline-flex; align-items: center; text-underline-offset: 4px; }
.home-languages__choices a:hover { color: var(--ink); }
.home-demo-note { text-align: center; margin-bottom: 32px; color: var(--ink-faint); font-size: 14px; }
@keyframes home-language-drift { to { transform: translateX(-50%); } }
@media (max-width: 640px) {
  .home-page .hero { padding-top: 102px; }
  .home-page .home-descriptor { font-size: 10px; letter-spacing: .06em; margin-bottom: 14px; }
  .home-page .hero-copy--centered h1 { font-size: clamp(35px, 8.5vw, 48px); }
  .home-page .hero-copy--centered .lede.hero-lede { font-size: 16px; margin-bottom: 16px; }
  .home-languages { margin-bottom: 12px; }
  .home-language { padding-inline: 17px; font-size: 15px; }
  .home-languages__choices { gap: 0 17px; }
  .home-languages__choices a { min-height: 36px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-languages[data-motion-ready] .home-languages__track { animation: none; }
}
@media (max-width: 360px) {
  .home-page .consent-banner { padding: 14px; gap: 10px; }
  .home-page .consent-banner__text { font-size: 12px; line-height: 1.4; }
}
