/* Homepage polish: compact navigation, clearer interaction states, and comfortable mobile actions. */
@media (min-width: 821px) and (max-width: 1180px) {
  .header { padding-inline: 20px; }
  .header .brand { gap: 6px; font-size: 19px; }
  .header .brand-mark { width: 32px; }
  .header-actions { gap: 2px; }
  .header .button.small { padding-inline: 8px; font-size: 11px; }
  .header .theme-toggle { margin-left: 3px; }
}

.home-module-rail a:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid var(--stage-accent);
  outline-offset: -3px;
  background: var(--soft);
}

.home-hero-links .button {
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.home-hero-links .button:hover { transform: translateY(-2px); }
.home-module-rail a { transition: background-color .16s ease, color .16s ease; }
.home-module-rail a:hover .module-arrow { color: var(--stage-accent); }

@media (max-width: 520px) {
  .home-hero-compact { min-height: 0; }
  .home-hero-links { align-items: stretch; }
  .home-hero-links .button { flex: 1 1 100%; width: 100%; min-width: 0; white-space: normal; }
  .home-hero-footer { flex-wrap: wrap; row-gap: 8px; line-height: 1.6; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero-links .button,
  .home-module-rail a { transition: none; }
  .home-hero-links .button:hover { transform: none; }
}
