/* v44: Scroll-to-top button */
    .scroll-top-btn {
      position: fixed;
      right: var(--safe-edge, 16px);
      bottom: calc(24px + env(safe-area-inset-bottom));
      z-index: 64;
      width: 46px;
      height: 46px;
      border: 1px solid var(--btn-primary-border);
      border-radius: 999px;
      background: var(--scroll-top-bg, #2f6fb8);
      color: var(--btn-primary-text);
      box-shadow: var(--shadow-soft);
      display: inline-grid;
      place-items: center;
      opacity: 0;
      pointer-events: none;
      transform: translateY(12px) scale(.92);
      transition: opacity .18s ease, transform .2s cubic-bezier(.2, .8, .2, 1), background-color .15s ease, border-color .15s ease;
      cursor: pointer;
    }
    .scroll-top-btn svg {
      width: 21px;
      height: 21px;
      display: block;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .scroll-top-btn:hover { background: color-mix(in srgb, var(--scroll-top-bg, #2f6fb8) 88%, #000 12%); border-color: var(--btn-primary-border); }
    .scroll-top-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px var(--focus), var(--shadow-soft); }
    body.scrolltop-left .scroll-top-btn {
  left: var(--safe-edge, 16px);
  right: auto;
}
    body.scrolltop-visible .scroll-top-btn {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
    }

    @media (max-width: 560px) {
      .scroll-top-btn {
        right: var(--safe-edge, 16px);
        bottom: calc(16px + env(safe-area-inset-bottom));
        z-index: 68;
        width: 46px;
        height: 46px;
        transform: translateY(0) scale(.72);
        transform-origin: center;
      }
      body.scrolltop-left .scroll-top-btn {
  left: var(--safe-edge, 16px);
  right: auto;
}
      body.scrolltop-visible .scroll-top-btn {
        transform: translateY(calc(-1 * (58px + 14px))) scale(1);
      }
      body.phone-header-nav.scrolltop-visible .scroll-top-btn {
        transform: translateY(0) scale(1);
      }
    }

@media (max-width: 640px) {
  .scroll-top-btn {
    width: 44px;
    height: 44px;
    right: max(12px, env(safe-area-inset-right));
    left: auto;
    bottom: var(--scroll-top-mobile-bottom, calc(max(12px, env(safe-area-inset-bottom)) + 74px));
    transform: translateY(18px);
  }

  body.scrolltop-left .scroll-top-btn {
    left: max(12px, env(safe-area-inset-left));
    right: auto;
  }

  body.scrolltop-visible .scroll-top-btn {
    transform: translateY(0);
  }
}
