/* Vanguard Select — shared public site footer. Mobile first. */
.vs-footer {
  --vsf-border: #1e2d3d;
  --vsf-accent: #c8a84b;
  --vsf-text: #e8e8e8;
  --vsf-muted: #b8c0cc;
  --vsf-bg: #080a0c;
  background: var(--vsf-bg);
  color: var(--vsf-text);
  border-top: 1px solid var(--vsf-border);
  padding: 48px 20px 28px;
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 15px;
  line-height: 1.65;
  /* Normal document flow only — never fixed/top; keeps footer after page content */
  position: relative;
  z-index: 50;
  isolation: isolate;
  clear: both;
}
.vs-footer a { color: var(--vsf-muted); text-decoration: none; transition: color 0.2s; cursor: pointer; }
.vs-footer a:hover, .vs-footer a:focus { color: var(--vsf-accent); }
/* Defensive: pages that style bare `nav{}` must not pin footer column navs */
footer.vs-footer nav.vs-footer-col {
  position: relative;
  inset: auto;
  display: block;
  width: auto;
}
.vs-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: 36px;
  grid-template-columns: 1fr;
  position: relative;
}
.vs-footer-inner > .vs-footer-col,
.vs-footer-inner > nav {
  position: relative;
  min-width: 0;
}
.vs-footer-brand .vs-footer-logo {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 28px;
  letter-spacing: 4px;
  color: #fff;
  display: inline-block;
  margin-bottom: 8px;
}
.vs-footer-brand .vs-footer-logo span { color: var(--vsf-accent); }
.vs-footer-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--vsf-muted);
  max-width: 320px;
}
.vs-footer-heading {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--vsf-accent);
  margin: 0 0 16px;
}
.vs-footer-list { list-style: none; margin: 0; padding: 0; }
.vs-footer-list li { margin-bottom: 10px; }
.vs-footer-list a {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.vs-trust-list { list-style: none; margin: 0; padding: 0; }
.vs-trust-list li { margin-bottom: 18px; }
.vs-trust-list strong {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  display: block;
  margin-bottom: 6px;
}
.vs-trust-list span {
  font-size: 14px;
  color: var(--vsf-muted);
  line-height: 1.6;
}
.vs-footer-bar {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 20px 32px;
  border-top: 1px solid var(--vsf-border);
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}
.vs-footer-bar-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 1.5px;
  color: var(--vsf-muted);
  text-transform: uppercase;
  line-height: 1.8;
}
.vs-footer-social {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}
.vs-footer-social a {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
@media (min-width: 720px) {
  .vs-footer { padding: 56px 40px 32px; }
  .vs-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 40px 32px;
  }
  .vs-footer-brand { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .vs-footer-inner {
    grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(0, 1fr));
    gap: 32px 40px;
  }
  .vs-footer-brand {
    grid-column: auto;
    max-width: 260px;
  }
  .vs-footer-bar {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 28px;
  }
}
