@media (max-width: 900px) {
  .nav { gap: 10px; }
  .nav .brand { min-width: 0; }
  .mobile-menu { flex: 0 0 auto; }
}

@media (max-width: 620px) {
  .hero-news-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-news { min-width: 0; }
}

@media (max-width: 430px) {
  .nav { gap: 8px; padding: 8px 10px; }
  .nav .brand { gap: 8px; font-size: 12px; }
  .nav .brand-mark { flex: 0 0 42px; width: 42px; height: 42px; font-size: 14px; }
  .nav .brand-name b { font-size: 16px; }
  .nav .language-switcher { gap: 0; padding: 2px; margin-left: auto; }
  .nav .language-switcher a { min-width: 26px; height: 26px; }
  .nav .mobile-menu summary { padding: 8px 10px; }
}
