/* SHARED CANONICAL FOOTER — style for the one footer (markup in
   /shared/footer.js). Consumes canonical tokens (/shared/tokens.css). Quiet by
   doctrine: neutral ink, the accent appears only on the invite action + the
   seam. Mobile-first; centers within the reading column. */

.spf-seam{margin-top:var(--sp-6)}
.spf{padding:var(--sp-5) var(--sp-4) calc(env(safe-area-inset-bottom) + var(--sp-6))}
.spf-in{max-width:var(--wrap);margin:0 auto;display:flex;flex-direction:column;
  align-items:center;gap:var(--sp-3);text-align:center}

.spf-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  color:var(--text)}
.spf-mark{width:26px;height:26px;display:block;flex:none;color:inherit}
.spf-wm b{font-family:var(--font-display);font-weight:700;font-size:1.02rem;
  letter-spacing:-.01em;color:var(--text)}

.spf-tag{margin:0;color:var(--muted);font-size:var(--fs-sm);max-width:32ch;
  line-height:1.4}

.spf-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2) var(--sp-4)}
.spf-link{color:var(--muted);text-decoration:none;font-size:var(--fs-sm);
  font-weight:600}
.spf-link:hover{color:var(--text)}
.spf-invite{color:var(--accent-2)}
.spf-invite:hover{color:var(--accent)}

.spf-fine{margin:var(--sp-1) 0 0;color:var(--faint);font-size:var(--fs-xs);
  letter-spacing:.04em}
