/* ============================================================================
   foot.css — the shared site footer: sitemap on near-black #0A0A0A, and the
   giant THREAD that sinks off the bottom edge of every page.

   One source of truth. Every page links this LAST, after its own stylesheet,
   so these rules win the cascade (guide.css carries an older flex .foot-grid;
   the .foot-scoped selectors here also out-specify it). Self-contained on
   purpose — no dependence on any page's CSS vars, .shell metrics, or fonts —
   so it renders identically on home.css, guide.css, about.css and styles.css
   pages. Font: Public Sans (gfoot-era pages and the redesigned pages already
   load it; the three old styles.css pages get the Google Fonts link injected).

   The giant mark is SVG text with textLength, so the six letters always span
   the full row and the gaps re-distribute at any viewport (the tracked-caps
   wordmark, scaled). Baseline y=190 in a 150-tall viewBox crops the bottom
   ~quarter of the caps past the page edge; .foot overflow:hidden does the cut.

   Registered in build.py CACHE_BUST_ASSETS — run python3 build.py after edits.
   ========================================================================== */
.foot{background:#0A0A0A;color:#FCFCFB;margin-top:150px;padding:110px 0 0;overflow:hidden;
  font-family:"Public Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-align:left;}
.foot .shell{max-width:1160px;margin:0 auto;padding:0 40px;box-sizing:border-box;}
.foot a{color:rgba(252,252,251,.62);text-decoration:none;}
.foot a:hover{color:#FCFCFB;}
.foot .foot-wm{font-size:13.5px;font-weight:700;letter-spacing:.34em;color:#FCFCFB;}
.foot .foot-grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr));gap:48px;}
.foot .foot-grid a{color:rgba(252,252,251,.62);}
.foot .foot-grid a:hover{color:#FCFCFB;}
.foot .foot-desc{font-size:13px;line-height:1.6;color:rgba(252,252,251,.62);margin:14px 0 0;max-width:30ch;}
.foot .fcol{display:flex;flex-direction:column;gap:9px;font-size:13px;}
.foot .fcol strong{color:#FCFCFB;font-size:12.5px;font-weight:600;}
.foot .foot-bar{display:flex;justify-content:space-between;gap:24px;margin-top:84px;font-size:12px;color:rgba(252,252,251,.62);flex-wrap:wrap;}
.foot .foot-mark{margin-top:96px;padding:0 clamp(18px,3vw,44px);}
.foot .foot-mark svg{display:block;width:100%;height:auto;filter:drop-shadow(0 0 22px rgba(252,252,251,.14)) drop-shadow(0 0 72px rgba(252,252,251,.06));}
.foot .foot-mark text{font-family:"Public Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;fill:url(#fm-fade);}
@media (max-width:960px){
  .foot{margin-top:110px;padding-top:80px;}
  .foot .foot-grid{grid-template-columns:minmax(0,1fr);}
  .foot .foot-bar{margin-top:56px;}
  .foot .foot-mark{margin-top:64px;}
}
