/* The last section on every page is the call to action, and it already closes with a full
   section pad. A second one here stacked into a quarter-screen of empty white above the
   columns, so the footer keeps only a small run-up of its own. */
.site-footer{position:relative;z-index:1;padding-top:calc(var(--section-pad) * .25)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;padding-inline:2rem;align-items:start}

.fbrand__link{display:block;width:max-content}
/* Matched to the header's mark, a little smaller: the footer is where you leave, not where
   you arrive. */
.fbrand__img{height:clamp(2.25rem,2.8vw,3.25rem);width:auto;object-fit:contain;display:block}
.fbrand__desc{padding-top:1.2rem;max-width:18.5625rem;font-size:var(--body-size);line-height:var(--body-lh);color:var(--muted-2)}
.fbrand__desc p{margin:0}
.fbrand__desc p+p{margin-top:.75rem}
.fbrand__desc b,.fbrand__desc strong{font-weight:var(--w-ui);color:var(--ink-q)}

.fcol__head{margin:0;font-weight:var(--w-ui);font-size:var(--cap-size);line-height:var(--cap-lh);letter-spacing:var(--eyebrow-track);text-transform:uppercase;color:var(--ink-q)}
.fcol__list{list-style:none;margin:0;padding:1.2rem 0 0}
.fcol__list li+li{padding-top:.75rem}
.fcol__list a{font-size:var(--ui-size);line-height:var(--ui-lh);letter-spacing:var(--ui-track);color:var(--muted-2);transition:color var(--dur) var(--ease)}
.fcol__list a:hover{color:var(--blue)}

.fsocial{display:flex;gap:1rem;padding-top:1.2rem}
.fsocial a{display:flex;opacity:.75;transition:opacity var(--dur) var(--ease)}
.fsocial a:hover{opacity:1}
.fsocial img{width:1.25rem;height:1.25rem}
.fsocial .s-x img{width:1.1875rem;height:1.1875rem}

/* ---- the closing band ------------------------------------------------------
   Caveat and legal line under one rule. Previously the caveat sat 72px below the columns
   and 26px above the bar — belonging to neither, and reading as something left mid-air. */
.site-footer__end{
  margin-top:clamp(2.5rem,5vw,3.5rem);
  padding:clamp(1.5rem,2.6vw,2rem) 2rem clamp(1.5rem,2.6vw,2rem);
  border-top:1px solid var(--footer-rule);
}
.site-footer__note{max-width:70ch;margin:0;padding:0;font-size:var(--cap-size);line-height:1.6;letter-spacing:var(--cap-track);color:var(--muted-4)}
.site-footer__note + .site-footer__bar{margin-top:1.25rem}
.site-footer__bar{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center;justify-content:space-between;margin:0;padding:0;font-size:var(--cap-size);line-height:var(--cap-lh);letter-spacing:var(--cap-track);color:var(--muted-4)}
.site-footer__bar a{text-decoration:underline;transition:color var(--dur) var(--ease)}
.site-footer__bar a:hover{color:var(--blue)}

@media (max-width:64em){
  .site-footer__grid{grid-template-columns:1fr 1fr;gap:2.5rem;padding-inline:0}
  .fbrand{grid-column:1/-1}
  .site-footer__end{padding-inline:0}
}
@media (max-width:36em){
  .site-footer__grid{grid-template-columns:1fr;gap:2rem}
  /* Stacked, the copyright and the policy links read as two lines of one block rather than
     as a row that happens to have wrapped. */
  .site-footer__bar{flex-direction:column;align-items:flex-start;gap:.375rem}
}
