/* Public server-rendered counterpart of components/Footer.tsx. */
.public-footer { margin-top: auto; width: 100%; border-top: 1px solid #ffffff1a; background: #08080c; padding: 56px 24px 32px; }
.public-footer-inner { max-width: 1280px; margin: 0 auto; }
.public-footer-main { display: grid; gap: 48px; padding-bottom: 48px; }
.public-footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.public-footer-brand img { display: block; width: 160px; height: auto; }
.public-footer a { color: #ffffffb3; text-decoration: none; border-radius: 2px; transition: color .2s; }
.public-footer a:hover { color: #d8b4fe; }
.public-footer a:focus-visible { outline: 2px solid #d8b4fe; outline-offset: 4px; }
.public-footer-socials { display: flex; gap: 8px; }
.public-footer-socials a { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid #ffffff1a; border-radius: 50%; color: #fff9; transition: color .2s, border-color .2s, background .2s; }
.public-footer-socials a:hover { border-color: #d8b4fe80; background: #d8b4fe1a; color: #d8b4fe; }
.public-footer-socials svg { width: 16px; height: 16px; }
.public-footer nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px 32px; }
.public-footer h2 { margin: 0 0 20px; color: #d8b4fe; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .16em; }
.public-footer ul { list-style: none; padding: 0; margin: 0; font-size: 14px; line-height: 24px; }
.public-footer li + li { margin-top: 12px; }
.public-footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-top: 24px; border-top: 1px solid #ffffff1a; color: #ffffff80; font-size: 12px; line-height: 24px; }
.public-footer-legal > span { display: inline-flex; align-items: center; gap: 12px; }
.public-footer-legal span[aria-hidden] { color: #ffffff4d; }
@media (min-width: 400px) { .public-footer nav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .public-footer { padding-top: 64px; } }
@media (min-width: 1024px) { .public-footer { padding-left: 32px; padding-right: 32px; } .public-footer nav { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .public-footer-main { grid-template-columns: 180px minmax(0, 1fr); gap: 56px; } }
