/* Legal links sit above a contained constellation and wordmark. */
.site-footer > .wrap{display:flex;flex-direction:column}
.footer-top,.footer-bottom{position:relative;z-index:2}
.footer-bottom{order:2;margin-top:24px}
.footer-art{position:relative;isolation:isolate;overflow:hidden;order:3;align-self:center;width:100vw;height:clamp(250px,44vw,1000px);margin-top:clamp(30px,3vw,56px)}
.footer-constellation{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;touch-action:pan-y;contain:layout paint;mask-image:linear-gradient(to bottom,#000b 0%,#000 28%,#000 44%,#0007 62%,#0002 78%,#0001 100%)}
.footer-constellation canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none}
/* 96vw × (467 / 408) × .40 = 43.953vw of the proportional mark visible.
   The canvas reads this same SVG geometry, so both versions move together. */
.footer-constellation-fallback{position:absolute;left:50%;top:max(0px,calc(100% - 43.953vw));width:96%;max-width:none;height:auto;transform:translateX(-50%);pointer-events:none;opacity:.82}
.footer-constellation[data-particles-ready="true"] canvas{opacity:.82}
.footer-constellation[data-particles-ready="true"] .footer-constellation-fallback{opacity:0}
/* The small bottom inset balances the display face's descending letterforms. */
.footer-art .footer-wordmark{position:absolute;z-index:2;left:0;right:0;top:auto;bottom:.08em;transform:none;margin:0;color:rgba(255,255,255,.14);pointer-events:none}
@media(max-width:600px){
  .footer-bottom{margin-top:20px}
  .footer-art{height:46vw;margin-top:28px}
  .footer-constellation-fallback{width:96%}
  .footer-constellation-fallback,.footer-constellation[data-particles-ready="true"] canvas{opacity:.94}
  .footer-art .footer-wordmark{bottom:.08em}
}

/* Account access remains available when the last footer column is hidden. */
.footer-legal .footer-mobile-signin{display:none}
@media(max-width:900px){.footer-legal .footer-mobile-signin{display:inline-flex}}
