/* Shared footer (D1zx, 21 Oct 2026; Designer's footer-mock.html, F5 decided by the Lead): ONE footer on every page, 12 links in three columns + the brand column, the legal line below.
   Tokens come from the live theme (--w-*) with the Designer's light values as fallback; every rule carries html body so the live site's footer, link and heading rules cannot reach it. */
html body footer.sf{--sf-bg:var(--w-surface,#fff);--sf-line:var(--w-line,#dfe5ec);--sf-ink:var(--w-text,#0b1220);--sf-ink2:var(--w-text2,#2b3647);--sf-ink3:var(--w-muted,#5c6779);display:block;box-sizing:border-box;width:100%;margin:0;border:0;border-top:1px solid var(--sf-line);background:var(--sf-bg);color:var(--sf-ink);padding:2rem max(16px,clamp(1rem,2vw,3rem)) 1.5rem;font-family:"Instrument Sans",system-ui,sans-serif;font-size:.9375rem;line-height:1.45;text-align:left}
html body footer.sf *{box-sizing:border-box}
html body footer.sf .sf-in{max-width:137.5rem;margin:0 auto;padding:0;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:1.5rem 2rem;border:0}
html body footer.sf .sf-in>div{margin:0;padding:0;border:0;background:none}
html body footer.sf b.mark{display:block;font-size:1.0625rem;font-weight:700;letter-spacing:.02em;color:var(--sf-ink)}
html body footer.sf p.what{margin:.5rem 0 0;padding:0;color:var(--sf-ink3);font-size:max(12px,.8125rem);max-width:34ch;text-transform:none;letter-spacing:normal}
html body footer.sf h2{margin:0 0 .5rem;padding:0;font-size:max(12px,.75rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sf-ink3);font-family:inherit}
html body footer.sf ul{list-style:none;margin:0;padding:0;display:grid}
html body footer.sf li{margin:0;padding:0;border:0;background:none}
html body footer.sf li a{display:flex;align-items:center;min-height:max(44px,2.75rem);margin:0;padding:0;color:var(--sf-ink2);text-decoration:none;font-size:max(14px,.9375rem);font-weight:400;letter-spacing:normal;text-transform:none;border:0;background:none}
html body footer.sf li a:hover{color:var(--sf-ink);text-decoration:underline}
html body footer.sf .sf-legal{max-width:137.5rem;margin:1.5rem auto 0;padding:.75rem 0 0;border-top:1px solid var(--sf-line);display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;font-size:max(12px,.8125rem);color:var(--sf-ink3)}
html body footer.sf .sf-legal span{display:inline;margin:0;padding:0;color:inherit;font-size:inherit}
@media(max-width:54em){html body footer.sf .sf-in{grid-template-columns:1fr 1fr}html body footer.sf .sf-in>div:first-child{grid-column:1/-1}html body footer.sf .sf-legal{flex-direction:column}}
