/* W2SITEFOOTER_V2 — constructor footer (bottom of .scroll). Dark, neat, animated. */
.w2-sitefooter, .w2-sitefooter * { box-sizing: border-box; }
.w2-sitefooter {
  order: 99999;                      /* pinned last among .scroll children */
  margin: 26px -16px 16px;           /* bleed to the scroll padding edges */
  padding: 24px 20px 26px;
  background: linear-gradient(170deg, #45464d 0%, #212227 52%, #0d0e11 100%); /* canonical brand ink gradient */
  border-radius: 22px;               /* neat rounded card — all corners */
  color: #cfcfd4;
  font-family: "DM Sans", "Montserrat", system-ui, -apple-system, sans-serif;
}

/* ---- brand: W + spinning heart + ² ---- */
.w2-sitefooter .w2sf-brand { margin-bottom: 16px; }
.w2-sitefooter .w2sf-logo {
  font-family: "Bagel Fat One", cursive; font-weight: 400; font-size: 30px;
  color: #fff; letter-spacing: .5px; line-height: 1; display: inline-flex; align-items: baseline; gap: 1px;
}
.w2-sitefooter .w2sf-logo sup { font-size: .55em; }
.w2-sitefooter .w2sf-heart {
  display: inline-flex; width: .86em; height: .86em; margin: 0 .04em; vertical-align: -.04em;
}
.w2-sitefooter .w2sf-heart svg {
  display: block; width: 100%; height: 100%;
  transform-origin: center; will-change: transform;
  filter: drop-shadow(0 1px 1.5px rgba(0,0,0,.28));
  animation: w2sfHeartSpin 3.4s linear infinite;        /* one-to-one with custom tile */
}
@keyframes w2sfHeartSpin {
  0%   { transform: perspective(320px) rotateY(0deg); }
  100% { transform: perspective(320px) rotateY(360deg); }
}
@media (prefers-reduced-motion: reduce) { .w2-sitefooter .w2sf-heart svg { animation: none; } }

/* ---- links (shared) ---- */
.w2-sitefooter .w2sf-link {
  color: #b9b9c0; font-size: 13px; line-height: 1.4; text-decoration: none; transition: color .15s;
}
.w2-sitefooter .w2sf-link:hover { color: #fff; text-decoration: underline; }

/* ---- Documents accordion ---- */
.w2-sitefooter .w2sf-acc { padding-top: 18px; }
.w2-sitefooter .w2sf-acc-btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  background: none; border: 0; padding: 4px 0; cursor: pointer;
  color: #fff; font-family: "Syne", system-ui, sans-serif; font-weight: 800; font-size: 16px;
}
.w2-sitefooter .w2sf-caret { transition: transform .22s ease; color: #c5a059; flex: none; }
.w2-sitefooter .w2sf-acc.open .w2sf-caret { transform: rotate(180deg); }
.w2-sitefooter .w2sf-acc-panel {
  max-height: 0; overflow: hidden; transition: max-height .28s cubic-bezier(.22,.61,.36,1);
}
.w2-sitefooter .w2sf-acc-inner { padding-top: 12px; }
.w2-sitefooter .w2sf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 18px; }
@media (max-width: 460px) { .w2-sitefooter .w2sf-grid { grid-template-columns: 1fr; } }
.w2-sitefooter .w2sf-all {
  display: inline-block; margin-top: 14px; color: #c5a059; font-weight: 700; font-size: 13px; text-decoration: none;
}
.w2-sitefooter .w2sf-all:hover { text-decoration: underline; }

/* ---- contacts: Support / Investors / Partners + briefs ---- */
.w2-sitefooter .w2sf-contacts { margin-top: 20px; padding-top: 0; }
.w2-sitefooter .w2sf-cgrid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
@media (max-width: 460px) { .w2-sitefooter .w2sf-cgrid { grid-template-columns: 1fr; gap: 10px; } }
.w2-sitefooter .w2sf-contact { display: flex; flex-direction: column; gap: 2px; text-decoration: none; }
.w2-sitefooter .w2sf-contact b { color: #fff; font-size: 12px; font-weight: 700; }
.w2-sitefooter .w2sf-contact span { color: #b9b9c0; font-size: 12px; font-weight: 600; transition: color .15s; }
.w2-sitefooter .w2sf-contact:hover span { color: #cfcfd4; }
.w2-sitefooter .w2sf-briefs { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; }
.w2-sitefooter .w2sf-brief { color: #c5a059; font-weight: 700; font-size: 13px; text-decoration: none; }
.w2-sitefooter .w2sf-brief:hover { text-decoration: underline; }

/* ---- company line ---- */
.w2-sitefooter .w2sf-co {
  margin-top: 20px; padding-top: 0;
  color: #9a9aa2; font-size: 11.5px; font-weight: 600; letter-spacing: .02em;
}
