/* The footer ends on the wordmark. The proportional constellation continues
   behind the links and is cropped by that same lower edge. */
.site-footer > .wrap{display:flex;flex-direction:column}
.footer-top,.footer-bottom{position:relative;z-index:2}
.footer-bottom{order:1;margin-top:24px}
.footer-art{--mark-rise:clamp(120px,16vw,320px);position:relative;isolation:isolate;order:2;align-self:center;width:100vw;height:clamp(210px,35vw,1000px);margin-top:clamp(30px,3vw,56px)}
.footer-constellation{position:absolute;left:0;top:calc(-1 * var(--mark-rise));width:100%;height:calc(100% + var(--mark-rise));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{--mark-rise:clamp(48px,16vw,96px);height:46vw;margin-top:28px}
  .footer-constellation-fallback{width:96%}
  .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}}
