/* Site-wide floating Liquid Glass Back-to-Top button */
.back-to-top {
  appearance: none;
  -webkit-appearance: none;
  position: fixed;
  z-index: 9999;
  right: 20px;
  bottom: 20px;
  width: 50px;
  height: 50px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 50%;
  color: var(--red-dark);
  background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(255,255,255,.42));
  box-shadow: 0 8px 24px rgba(28,24,43,.18), inset 0 1px 0 rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  backdrop-filter: blur(22px) saturate(180%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px) scale(.94);
  transition: opacity .24s ease, transform .28s cubic-bezier(.2,.8,.2,1), visibility .24s ease, box-shadow .24s ease;
  cursor: pointer;
}
.back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); }
.back-to-top.is-visible:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 14px 32px rgba(28,24,43,.25), 0 0 18px rgba(120,145,255,.2), inset 0 1px 0 #fff;
}
.back-to-top:active, .back-to-top.is-visible:active { transform: translateY(0) scale(.95); }
.back-to-top svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .24s ease; }
.back-to-top.is-visible:hover svg { transform: translateY(-2px); }
.back-to-top:focus-visible { outline: 3px solid #6579ff; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .back-to-top, .back-to-top svg { transition: none !important; } }

/* Home stats cards: keep the complete card visible, including bottom note/padding */
.home-stats-grid--circular .home-stat-card {
  min-height: 264px;
  height: auto;
  padding: 26px 18px 32px;
  box-sizing: border-box;
  overflow: visible;
}
.home-stats-grid--circular .home-stat-note {
  margin-top: auto;
  padding-bottom: 2px;
}
