/* Shared supporting text uses the same semantic palette as the course. */
html body footer.ecg-support-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px 12px;
  width: calc(100% - 32px);
  max-width: 1180px;
  box-sizing: border-box;
  margin: 20px auto 0;
  padding: 20px 12px 24px;
  border: 0;
  border-top: 1px solid var(--ecg-ui-border-soft);
  background: none;
  color: var(--ecg-ui-muted);
  text-align: center;
  font: 400 13px/1.5 "Segoe UI", Arial, sans-serif;
  letter-spacing: 0;
}
.ecg-support-footer .ecg-footer-brand { color: var(--ecg-ui-silver); font-weight: 600; letter-spacing: .035em; }
.ecg-support-footer .ecg-footer-context { color: var(--ecg-ui-muted); }
html body .login-panel .hint, html body .login-panel .test-note, html body .recovery-page .hint { color: var(--ecg-ui-muted); font: 400 14px/1.5 "Segoe UI", Arial, sans-serif; }
html body .plan-catalog .plans-note, html body .plan-catalog .plans-signin { max-width: 650px; margin: 18px auto 0; color: var(--ecg-ui-muted); text-align: center; font: 400 14px/1.6 "Segoe UI", Arial, sans-serif; }
html body .plan-catalog .plans-signin a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; }
@media (max-width: 599px) {
  html body footer.ecg-support-footer { flex-direction: column; gap: 4px; margin-top: 16px; padding: 16px 8px 24px; }
  html body .plan-catalog .plans-note, html body .plan-catalog .plans-signin, html body .login-panel .hint, html body .recovery-page .hint { font-size: 15px; }
}
