/* ==================================================================
   Footer — ink, three bands:
   1. logo · blurb · contact · CTA on one line
   2. sitemap columns (collapsible headings)
   3. acknowledgement · socials · legal
   ================================================================== */

.ft {
  background: var(--surface-ink, #0d0f0f);
  border-top: 1px solid rgba(255,255,255,0.10);
  padding: 64px 80px 40px;
  color: #fff; font-family: var(--font-sans);
}
.ft-inner { max-width: 1280px; margin: 0 auto; }

/* Band 1 — brand line -------------------------------------------------- */
.ft-topline {
  display: flex; align-items: center; gap: 44px;
  padding-bottom: 44px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.ft-logo { width: 176px; height: auto; display: block; flex-shrink: 0; }
.ft-tag {
  margin: 0; font-size: 14px; line-height: 1.6; font-weight: 500;
  color: rgba(255,255,255,0.62); max-width: 480px; white-space: nowrap;
}
.ft-contact {
  list-style: none; margin: 0 0 0 auto; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.ft-contact a {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.78);
  text-decoration: none; white-space: nowrap;
}
.ft-contact a:hover { color: #fff; }
.ft-contact svg, .ft-contact [data-lucide] { width: 15px; height: 15px; color: var(--fbf-green, #28dc9a); flex-shrink: 0; }
.ft-cta { flex-shrink: 0; }

/* Band 2 — sitemap ------------------------------------------------------ */
.ft-cols {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px;
  padding: 44px 0 8px;
}
.ft-col-label {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  width: 100%; padding: 0 0 14px; cursor: pointer; text-align: left;
  background: none; border: none; border-bottom: 1px solid rgba(255,255,255,0.12);
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--fbf-green, #28dc9a); font-weight: 500;
}
.ft-col-label span { white-space: nowrap; }
.ft-col-label svg, .ft-col-label [data-lucide] {
  width: 14px; height: 14px; color: rgba(255,255,255,0.45); flex-shrink: 0;
  transition: transform 200ms var(--ease-out, ease);
}
/* AI Search & AEO column carries the AI purple signal */
.ft-col:first-child .ft-col-label { color: var(--purple-300, #b98cf2); }
.ft-col.is-open .ft-col-label svg, .ft-col.is-open .ft-col-label [data-lucide] { transform: rotate(180deg); }
.ft-col-label:hover svg, .ft-col-label:hover [data-lucide] { color: #fff; }
.ft-col ul {
  list-style: none; margin: 16px 0 0; padding: 0;
  flex-direction: column; gap: 10px;
}
.ft-col li { line-height: 1.15; }
.ft-col a {
  display: inline-block;
  font-size: 13px; font-weight: 500; line-height: 1.15;
  color: rgba(255,255,255,0.48); text-decoration: none;
  transition: color 120ms var(--ease-out, ease);
}
.ft-col a:hover { color: #fff; }

/* Band 3 — acknowledgement · socials · legal ---------------------------- */
.ft-bottom {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 60px;
  margin-top: 40px; padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.10);
}
.ft-ack {
  font-size: 12.5px; line-height: 1.7; font-weight: 500;
  color: rgba(255,255,255,0.55); max-width: 720px; text-wrap: pretty;
  padding: 22px 26px; border-radius: var(--radius-lg, 14px);
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10);
}
.ft-bottom-right {
  display: flex; flex-direction: column; align-items: flex-end; gap: 20px; flex-shrink: 0;
}
.ft-socials { display: flex; gap: 10px; }
.ft-socials a {
  display: grid; place-items: center; width: 40px; height: 40px;
  border-radius: 50%; border: 1px solid rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.75); text-decoration: none;
  transition: background 140ms var(--ease-out, ease), color 140ms var(--ease-out, ease),
              border-color 140ms var(--ease-out, ease);
}
.ft-socials a:hover {
  background: var(--fbf-green, #28dc9a); border-color: var(--fbf-green, #28dc9a);
  color: var(--ink-900, #0d0f0f);
}
.ft-socials svg { width: 17px; height: 17px; }

.ft-legal {
  display: flex; align-items: center; gap: 24px;
  font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,0.45);
}
.ft-legal-links { display: flex; gap: 24px; }
.ft-legal-links a { color: rgba(255,255,255,0.6); text-decoration: none; }
.ft-legal-links a:hover { color: #fff; text-decoration: none; }
