/* Shared, crawlable language navigation; stays available on narrow screens. */
.nav-inner { gap: 20px; }
.language-switch { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; }
.language-switch a { padding: 8px 2px; }
.language-switch a[aria-current="page"] { color: var(--accent-deepest); text-decoration: underline; text-underline-offset: 4px; }
.language-switch span { color: var(--ink-tertiary); }
.language-switch a:hover { color: var(--accent-deepest); }
.legal-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; padding: 20px 24px 0; font-size: 14px; }
.guide-home-link { padding-top: 0; padding-bottom: 32px; }
.guide-home-link a { color: var(--accent-deepest); text-decoration: underline; text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid var(--accent-deepest); outline-offset: 4px; }
html[lang="de"] .exercise-card .name { overflow-wrap: anywhere; }
@media (max-width: 1080px) {
  .nav-links { gap: 16px; font-size: 13px; }
}
@media (max-width: 760px) {
  .nav-inner { gap: 12px; }
  .nav-brand .nav-wordmark { height: 17px; }
  .nav-cta { padding: 9px 12px; font-size: 12px; }
}
@media (max-width: 400px) {
  .nav .container { padding-inline: 16px; }
  .nav-inner { gap: 8px; }
  .nav-brand { gap: 6px; }
  .nav-brand .nav-wordmark { height: 14px; }
  .language-switch { gap: 5px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}
/* Explain the app and offer its download before the tall phone preview. */
@media (max-width: 980px) {
  .hero-phone-wrap { order: 0; margin-top: 20px; }
}
