.public-footer { background: #071820; color: #e6f0f0; padding: 65px 0 24px; }
.public-footer-container { width: min(100% - 64px, 1296px); margin-inline: auto; }
.public-footer-grid { display: grid; grid-template-columns: 1.7fr repeat(4, minmax(0, 1fr)); gap: 36px; }
.public-footer .public-footer-brand { display: inline-flex; align-items: baseline; color: #e6f0f0; font-size: 1.4rem; font-weight: 800; letter-spacing: -.08em; text-decoration: none; }
.public-footer-brand span { color: #00c4cc; }
.public-footer-brand i { width: 4px; height: 4px; background: #00c4cc; border-radius: 50%; margin-left: 3px; }
.public-footer p { color: #a4babc; font-size: .77rem; margin: 16px 0; }
.public-footer h3 { color: #e6f0f0; font-size: .8rem; margin: 0 0 18px; letter-spacing: 0; line-height: 1.5; }
.public-footer-grid > div > a:not(.public-footer-brand) { display: block; width: fit-content; color: #adc3c5; text-decoration: none; font-size: .75rem; line-height: 1.6; padding-block: 6px; transition: color .2s ease; }
.public-footer a:hover { color: #8bf7f0; }
.public-footer a:focus-visible { outline: 3px solid #8bf7f0; outline-offset: 4px; }
.public-footer-bottom { border-top: 1px solid #254149; margin-top: 45px; padding-top: 20px; display: flex; justify-content: space-between; gap: 24px; color: #adc3c5; font-size: .7rem; }
@media (max-width: 991px) {
  .public-footer-container { width: min(100% - 40px, 720px); }
  .public-footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
  .public-footer-intro { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .public-footer { padding-block: 45px 24px; }
  .public-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-footer-bottom { flex-direction: column; gap: 16px; }
}
