/* ---------------------------------------------------------------------------
   The site footer.
   ---------------------------------------------------------------------------
   Markup is generated into every page by scripts/gen-seo-head.js — see the
   FOOT block there. It is the only navigation on the site that exists as real
   <a> tags in the served HTML: the sidebar is built by nav.js at
   DOMContentLoaded, so without this, a crawler (or anyone with JavaScript off)
   sees every page as an orphan with no route to the pages that say who
   publishes it.

   It is deliberately quiet. This is the last thing on a page whose point is the
   data above it, so: small type, faint colour, one hairline to separate it, and
   no card, panel or gradient competing with the content it sits under.

   The sidebar offset needs no handling here — nav.css pads <body>, and the
   footer is inside it.
--------------------------------------------------------------------------- */

.site-foot {
    max-width: 1180px;
    margin: 72px auto 0;
    padding: 34px 22px 46px;
    border-top: 1px solid var(--card-brd);
}

.ft-cols {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px 20px;
}

.ft-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

.ft-h {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--faint);
    margin-bottom: 2px;
}

.ft-col a {
    font-size: 13.5px;
    line-height: 1.35;
    color: var(--muted);
    text-decoration: none;
    transition: color 0.15s ease;
}

.ft-col a:hover,
.ft-col a:focus-visible {
    color: var(--txt);
}

/* The standing disclosure. Every page on the site carries market data, so every
   page carries the sentence saying what that data is and isn't. */
.ft-fine {
    margin: 30px 0 0;
    max-width: 760px;
    font-size: 12px;
    line-height: 1.7;
    color: var(--faint);
}

.ft-fine b {
    color: var(--muted);
    font-weight: 650;
}

.ft-fine a {
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid rgba(139, 92, 246, 0.4);
}

.ft-fine a:hover,
.ft-fine a:focus-visible {
    color: var(--txt);
}

@media (max-width: 860px) {
    .ft-cols {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .site-foot {
        margin-top: 52px;
        padding: 28px 16px 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ft-col a,
    .ft-fine a {
        transition: none;
    }
}
