/* Public pages and legal documents share a content-width based footer. */
.public-footer { container-type: inline-size; border: 0; background: var(--background, #f5f7fb); color: var(--muted-foreground, #5e6c83); font-size: 14px; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
.public-footer-inner { box-sizing: border-box; display: grid; gap: 32px; max-width: 1280px; margin: 0 auto; padding: 40px 24px; }
.public-footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.public-footer a { color: inherit; text-decoration: none; }
.public-footer a:hover { color: var(--foreground); }
.public-footer a:focus-visible { outline: 2px solid var(--primary, var(--accent)); outline-offset: 4px; border-radius: 4px; }
.public-footer-logo { display: inline-flex; align-items: center; gap: 8px; color: var(--foreground) !important; }
.public-footer-icon { display: block; width: 28px; height: 28px; }
.public-footer-wordmark { font-family: "Geist Variable", sans-serif; font-size: 24px; font-weight: 620; letter-spacing: -.055em; line-height: 1; }
.public-footer-tagline { font-size: 12px; max-width: 28rem; text-wrap: pretty; }
.public-footer-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 16px 32px; min-width: 0; }
.public-footer-group { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.public-footer-heading { color: var(--foreground, #17243b); font-weight: 600; margin-bottom: 12px; }
.public-footer-links a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; max-width: 100%; }
.public-footer-developer { gap: 4px; }
.public-footer-developer svg { flex-shrink: 0; opacity: .5; }
.public-footer-copyright { font-size: 12px; }
@container (min-width: 800px) {
 .public-footer-inner { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); padding: 48px 32px; }
 .public-footer-links { column-gap: 48px; }
 .public-footer-copyright { grid-column: 1 / -1; }
}
.public-footer--compact .public-footer-inner { padding: 16px 0; }
@media print { .public-footer { display: none; } }
