/* Shared marketing footer markup, using the app's colour and spacing tokens. */
#app-footer { min-width: 0; }
#app-footer .lp-foot {
  display: flex; flex-direction: column; gap: 48px;
  padding: 56px var(--edge) calc(28px + var(--bar-h) + var(--cta-h) + env(safe-area-inset-bottom));
  background: var(--ink); color: var(--ground);
}
#app-footer :focus-visible { outline-color: var(--ground); }
#app-footer a { color: inherit; text-decoration: none; }
#app-footer a:hover { color: var(--brand); opacity: 1; }
#app-footer .lp-foot-top { display: grid; grid-template-columns: minmax(0, 320px) repeat(3, minmax(0, 1fr)); gap: 32px; }
#app-footer .lp-foot-intro { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
#app-footer .lp-foot-lead { margin: 0; font-size: 18px; line-height: 1.4; }
#app-footer .lp-foot-cta { padding: 16px 18px; background: var(--brand); color: var(--ink); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
#app-footer .lp-foot-cta:hover { color: var(--ink); opacity: 0.85; }
#app-footer nav { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
#app-footer h2 { margin: 0 0 6px; color: var(--muted-dark); font-size: 13px; font-weight: 700; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; }
#app-footer nav a { font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
#app-footer .lp-foot-mark { display: block; width: 100%; height: auto; }
#app-footer .lp-foot-bottom { display: flex; align-items: center; justify-content: flex-end; gap: 24px; padding-top: 18px; border-top: 1px solid #4A4741; color: var(--muted-dark); font-size: 13px; }
#app-footer .lp-foot-bottom > .lp-foot-copyright { margin-right: auto; }
#app-footer .lp-foot-lang:empty { display: none; }
@media (max-width: 1099px) {
  #app-footer .lp-foot-top { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 20px; }
  #app-footer .lp-foot-intro { grid-column: 1 / -1; }
}
@media (max-width: 899px) {
  #app-footer .lp-foot { gap: 32px; padding-top: 36px; }
  #app-footer .lp-foot-lead { font-size: 17px; }
  #app-footer nav { gap: 0; }
  #app-footer nav a { display: flex; align-items: center; min-height: 44px; padding-block: 6px; }
  #app-footer h2 { font-size: 12px; }
  #app-footer .lp-foot-bottom { flex-wrap: wrap; gap: 4px 16px; padding-top: 16px; }
  #app-footer .lp-foot-bottom > a { display: flex; align-items: center; min-height: 44px; }
}
@media (max-width: 599px) { #app-footer .lp-foot-top { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { #app-footer .lp-foot { padding-bottom: 28px; } }
