/* Layered footer, scoped so the page keeps its continuous white canvas. */
.hub-footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:0;padding:24px 16px 16px;background:#fff;font-family:Inter,Arial,sans-serif;color:var(--ink)}
.hub-footer-card{width:100%;max-width:1152px;margin-inline:auto;background:#e9edf3;border:1px solid #e2e7ef;border-radius:48px;box-shadow:0 1px 2px rgb(15 23 42 / .05);overflow:hidden}
.hub-footer-inner{margin:8px;background:#fff;border-radius:40px;box-shadow:0 1px 2px rgb(15 23 42 / .05)}
.hub-footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;padding:32px}
.hub-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:32px;min-width:0}
.hub-footer-logo{display:inline-flex;align-items:center;border-radius:8px}
.hub-footer-logo img{width:156px;height:52px;object-fit:contain;object-position:left center}
.hub-footer-brand>p{max-width:320px;color:#64748b;font-size:16px;font-weight:400;line-height:1.625}
.hub-footer-socials{display:flex;gap:12px;align-items:center}
.hub-footer-socials button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid #edf0f5;background:#fff;box-shadow:0 1px 2px rgb(0 0 0 / .05);padding:0;transition:background-color .18s,transform .18s}
.hub-footer-socials img{width:20px;height:20px;object-fit:contain}.hub-footer-instagram{filter:grayscale(1) brightness(.35)}
.hub-footer-directory{min-width:0}
.hub-footer-directory h2{font-size:14px;line-height:20px;font-weight:500;letter-spacing:0;color:#687995;margin:0 0 24px}
.hub-footer-directory ul{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:0}
.hub-footer-directory a,.hub-footer-directory button{display:inline-block;color:#1e293b;font-size:15px;font-weight:500;line-height:24px;transition:color .18s}
.hub-footer-directory button,.hub-footer-legal button{padding:0;border:0;background:none;text-align:left;font-family:inherit}
.hub-footer-legal{padding:20px 24px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:24px;color:#64748b;font-size:15px;font-weight:500;line-height:1.6}
.hub-footer-legal>p{text-align:center}
.hub-footer-legal>div{display:flex;align-items:center;justify-content:center;gap:32px}
.hub-footer-legal a,.hub-footer-legal button{font-size:inherit;line-height:inherit;color:inherit;transition:color .18s}
.hub-footer-separator{width:1px;height:16px;background:#cbd5e1;flex:none}
.hub-footer a:focus-visible,.hub-footer button:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:6px}
@media(min-width:640px){.hub-footer-legal{padding-inline:48px}}
@media(min-width:768px){.hub-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:40px}.hub-footer-legal{flex-direction:row;padding-inline:64px}}
@media(min-width:1024px){.hub-footer-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding:48px}.hub-footer-brand{grid-column:span 2}.hub-footer-legal{padding-inline:80px}}
@media(max-width:639px){.hub-footer{padding-inline:16px}.hub-footer-legal>div{gap:20px}.hub-footer-legal{font-size:13px}.hub-footer-directory a,.hub-footer-directory button{min-height:32px;line-height:32px}.hub-footer-directory ul{gap:8px}}
@media(hover:hover){.hub-footer-directory a:hover,.hub-footer-directory button:hover,.hub-footer-legal a:hover,.hub-footer-legal button:hover{color:var(--blue)}.hub-footer-socials button:hover{background:#f8fafc}.hub-footer-socials button:active{transform:scale(.95)}}
@media(prefers-reduced-motion:reduce){.hub-footer *{transition:none!important;animation:none!important}.hub-footer-socials button:active{transform:none}}
@media(forced-colors:active){.hub-footer-card,.hub-footer-inner{border:1px solid CanvasText}.hub-footer-socials img{forced-color-adjust:none}}
