/* Site footer, shared by network.html, vision.html, contact.html and the four legal pages (same markup on each).
   Brand on the left; Products, Contact and Legal sit as a group on the right, sized to their links; copyright line underneath.
   Colours are written out, not page tokens, because vision.html doesn't define the same variables. */
.ft { border-top:1px solid rgba(255,255,255,0.08); color:#8b949e; font-size:14px; line-height:1.5; }
.ft-in { width:calc(100% - 2 * clamp(20px, 4vw, 48px)); margin:0 auto; }
.ft-top { display:grid; grid-template-columns:minmax(0, 1fr) repeat(3, auto); gap:40px clamp(56px, 7vw, 128px); padding:clamp(48px, 6vw, 72px) 0 clamp(40px, 5vw, 56px); }
.ft-brand { display:flex; flex-direction:column; align-items:flex-start; }
/* Icon and wordmark in the nav's proportions (28px icon, 11px word), so the two read as one mark */
.ft-logo { display:inline-flex; align-items:center; gap:10px; margin-bottom:28px; }
.ft-logo img:first-child { width:28px; height:28px; }
.ft-logo .ft-word { height:11px; width:auto; }
/* The home headline, small: same weight and tracking, accent word in Instrument Serif, mostly white with a hint of the warm light */
.ft-line { margin:0 0 8px; font-size:20px; font-weight:600; letter-spacing:-0.04em; line-height:1.1; color:#f4f4f4; }
.ft-it { font-family:'Instrument Serif', 'Times New Roman', serif; font-style:italic; font-weight:400; font-size:1.1em; letter-spacing:-0.01em; color:#f9e3cc; }
.ft-brand p:not(.ft-line) { margin:0; color:#8b949e; }
.ft-col h2 { margin:0 0 16px; font-family:'JetBrains Mono', ui-monospace, Menlo, monospace; font-size:11px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:#5d6266; }
.ft-col ul { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.ft-col a { color:#a0a6ae; text-decoration:none; transition:color 0.2s; }
.ft-col a:hover { color:#f4f4f4; }
.ft-base { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; padding:20px 0 28px; border-top:1px solid rgba(255,255,255,0.08); font-size:13px; color:#5d6266; }
.ft-base a { color:inherit; text-decoration:none; transition:color 0.2s; }
.ft-base a:hover { color:#a0a6ae; }

@media (max-width:900px) {
  .ft-top { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .ft-brand { grid-column:1 / -1; }
}
@media (max-width:560px) {
  /* Phones: each section becomes one row (label left, links wrapping beside it) with a hairline between, so no column is left hanging */
  .ft-top { display:block; padding:44px 0 8px; }
  .ft-brand { margin-bottom:32px; align-items:center; text-align:center; }
  .ft-col { display:grid; grid-template-columns:92px minmax(0, 1fr); gap:16px; padding:18px 0; border-top:1px solid rgba(255,255,255,0.08); }
  .ft-col h2 { margin:0; padding-top:4px; }
  .ft-col ul { display:flex; flex-wrap:wrap; gap:10px 20px; }
}
