/* Compact public footer; navigation and configured contacts share the site shell. */
.site-footer.public-footer{position:relative;margin-top:40px;padding:0;color:#fff;background:linear-gradient(120deg,#24165f 0%,#1b1249 65%,#160f3b 100%)}
.public-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#33ccff 0%,#5d50e6 55%,#4229c1 100%)}
.site-footer.public-footer .footer-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:32px;padding-top:36px;padding-bottom:24px}
.site-footer.public-footer .footer-grid-with-contact{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
.public-footer .footer-about,.public-footer .footer-column{min-width:0}
.public-footer .footer-brand{width:fit-content;max-width:100%;align-items:center;gap:12px;text-decoration:none}
.public-footer .footer-brand .brand-mark{width:40px;height:40px;flex-shrink:0;border-radius:12px;border:1px solid rgb(255 255 255 / 20%);background:rgb(255 255 255 / 8%);color:#fff}
.public-footer .footer-brand .brand-copy strong{font-size:13px;letter-spacing:.02em;line-height:1.5;color:#fff}
.site-footer.public-footer .footer-about p{margin:12px 0 0;max-width:34ch;font-size:14px;line-height:1.7;color:#dfddec}
.site-footer.public-footer .footer-column h2{margin:0 0 8px;font-size:14px;line-height:1.6;font-weight:700;color:#fff}
.public-footer .footer-links{list-style:none;padding:0;margin:0}
.public-footer .footer-links li{padding:0;margin:0;min-width:0}
.site-footer.public-footer a{color:#dfddec;text-decoration:none;overflow-wrap:anywhere;transition:color .15s ease}
.site-footer.public-footer .footer-column a{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:40px;padding:6px 0;border-radius:2px;font-size:14px;line-height:1.7}
.site-footer.public-footer a:hover{color:#fff;text-decoration:underline;text-decoration-color:#8ee1ff;text-underline-offset:5px}
.public-footer .footer-contact address{font-style:normal;min-width:0}
.public-footer .footer-contact-label{display:block;margin-top:8px;color:#c2bce1;font-size:12px;line-height:1.7}
.public-footer .footer-contact-label:first-child{margin-top:0}
.site-footer.public-footer .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px;margin-top:0;padding-top:10px;padding-bottom:10px;border-top:1px solid rgb(255 255 255 / 15%);font-size:12px;line-height:1.7;color:#c2bce1}
.public-footer .footer-legal{display:flex;flex-wrap:wrap;gap:0 20px}
.public-footer .footer-legal a{display:inline-flex;align-items:center;min-height:44px}
.public-footer .brand-uploaded-logo{max-width:190px;height:44px;object-fit:contain;object-position:left center}
.public-footer :focus-visible{outline:2px solid #8ee1ff!important;outline-offset:4px;box-shadow:none!important}
@media(max-width:900px){
  .site-footer.public-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;padding-top:28px}
  .site-footer.public-footer .footer-grid-with-contact{grid-template-columns:repeat(3,minmax(0,1fr))}
  .public-footer .footer-about{grid-column:1/-1}
}
@media(max-width:600px){
  .site-footer.public-footer{margin-top:32px}
  .site-footer.public-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:28px;padding-bottom:20px}
  .public-footer .footer-contact{grid-column:1/-1}
  .site-footer.public-footer .footer-column a{min-height:44px;padding:8px 0}
  .site-footer.public-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:0;padding-top:16px;padding-bottom:10px}
  .public-footer .footer-legal{gap:0 16px}
}
@media(prefers-reduced-motion:reduce){.site-footer.public-footer a{transition:none}}
@media(forced-colors:active){
  .site-footer.public-footer{background:Canvas;color:CanvasText}
  .site-footer.public-footer .footer-about p,.site-footer.public-footer .footer-column h2,.public-footer .footer-contact-label,.site-footer.public-footer .footer-bottom,.public-footer .footer-brand .brand-copy strong{color:CanvasText}
  .site-footer.public-footer a{color:LinkText}
  .site-footer.public-footer .footer-bottom{border-color:CanvasText}
}
@media print{.site-footer.public-footer{display:none!important}}
