/* ══ The site footer (scripts/lib/footer.js), the same on every page ════════════════════════════
   Every selector carries .wf so it outranks the older footer styles still sitting in many pages'
   own <style> blocks (footer { ... }, footer a { ... }). */
footer.wf { position: relative; overflow: hidden; margin: 0; padding: clamp(56px, 7vw, 90px) 0 0; background: #0b0a12 !important; color: #c9c6d6; border: 0;
  font-family: var(--font, 'Poppins', sans-serif); text-align: left; }
.wf .wf-in { max-width: 1240px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 48px); position: relative; z-index: 1; }
.wf .wf-top { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 9fr); gap: clamp(32px, 5vw, 80px); align-items: start; }

.wf .wf-logo { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.wf .wf-logo img { width: 32px; height: auto; }
.wf .wf-logo span { font-size: 20.8px; font-weight: 600; letter-spacing: -.03em; }
.wf .wf-brand p { margin: 16px 0 0; max-width: 34ch; font-size: 15.2px; line-height: 1.65; color: #a9a5b8; }
.wf .wf-social { display: flex; gap: 10px; margin-top: 22px; }
.wf .wf-social a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .14);
  color: #e6e3ef; transition: background .25s, border-color .25s, color .25s, transform .3s; }
.wf .wf-social a:hover { background: #fff; border-color: #fff; color: #0b0a12; transform: translateY(-2px); }

.wf .wf-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px clamp(20px, 3vw, 40px); }
.wf .wf-col summary { list-style: none; color: #fff; font-size: 15.2px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 14px; cursor: default; }
.wf .wf-col summary::-webkit-details-marker { display: none; }
.wf .wf-col ul { list-style: none; margin: 0; padding: 0; }
.wf .wf-col li { margin: 0; padding: 0; }
.wf .wf-col a { display: inline-block; padding: 5px 0; color: #a9a5b8; text-decoration: none; font-size: 14.88px; line-height: 1.4; transition: color .2s; }
.wf .wf-col a:hover { color: #fff; }

.wf .wf-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; margin-top: clamp(44px, 6vw, 70px); padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13.76px; color: #8d899c; }
.wf .wf-bottom p { margin: 0; color: #8d899c; }
.wf .wf-bottom a { color: #c9c6d6; text-decoration: none; }
.wf .wf-bottom a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.wf .wf-legal { display: flex; flex-wrap: wrap; gap: 6px 22px; }

/* The big wordmark the page ends on: quiet, cut off at the bottom edge. */
.wf .wf-mark { margin: clamp(10px, 2vw, 24px) 0 0; padding: 0 clamp(12px, 2vw, 24px); font-size: clamp(72px, 21vw, 304px); font-weight: 600; letter-spacing: -.065em; line-height: .78;
  text-align: center; white-space: nowrap; user-select: none; pointer-events: none;
  background: linear-gradient(180deg, rgba(178, 145, 236, .8), rgba(120, 81, 169, .16) 88%); -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-bottom: -.12em; }

@media (max-width: 960px) {
  .wf .wf-top { grid-template-columns: minmax(0, 1fr); }
}
/* Some pages force colours on every element (the help pages set body * { color: ... !important }),
   and some style every <details> (the home page's FAQ draws its own +/- and rules). The footer
   holds its own against both. */
footer.wf, footer.wf * { color: #c9c6d6 !important; }
.wf .wf-logo span, .wf .wf-col summary { color: #fff !important; }
.wf .wf-brand p, .wf .wf-bottom p, .wf .wf-col a { color: #a9a5b8 !important; }
.wf .wf-bottom a, .wf .wf-legal a { color: #c9c6d6 !important; }
.wf .wf-col a:hover, .wf .wf-bottom a:hover, .wf .wf-legal a:hover { color: #fff !important; }
.wf .wf-social a { color: #e6e3ef !important; }
.wf .wf-social a:hover { color: #0b0a12 !important; }
.wf .wf-mark { color: transparent !important; }
.wf .wf-col { margin: 0; padding: 0; border: 0; background: none; }
.wf .wf-col summary::before, .wf .wf-col summary::after { content: none; display: none; }

/* Phones: each column is a heading you tap to open. */
@media (max-width: 700px) {
  .wf .wf-cols { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
  .wf .wf-col { border-bottom: 1px solid rgba(255, 255, 255, .1); }
  .wf .wf-col summary { display: flex; justify-content: space-between; align-items: center; margin: 0; padding: 16px 0; cursor: pointer; font-size: 16px; }
  .wf .wf-col summary::after { content: ""; display: block; width: 9px; height: 9px; border: solid #a9a5b8; border-width: 0 1.6px 1.6px 0; transform: rotate(45deg) translate(-2px, -2px); transition: transform .3s; }
  .wf .wf-col[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
  .wf .wf-col ul { padding: 0 0 14px; }
  .wf .wf-col a { padding: 9px 0; font-size: 16px; }
  .wf .wf-bottom { flex-direction: column; align-items: flex-start; }
}
@media print { footer.wf { display: none !important; } }
