.pts-back-top {
  position: fixed;
  right: 40px;
  bottom: calc(100px + env(safe-area-inset-bottom, 0px));
  z-index: 175;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 124px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  isolation: isolate;
  transition: box-shadow .2s, border-color .2s;
  -webkit-tap-highlight-color: transparent;
}
.pts-back-top[hidden] { display: none; }
.pts-back-top__photo {
  object-fit: contain;
  clip-path: polygon(36% 2%,64% 2%,68% 5%,75% 6%,79% 9%,83% 12%,87% 14%,88% 27%,83% 31%,77% 32%,84% 34%,85% 38%,78% 39%,79% 63%,85% 66%,88% 70%,87% 86%,80% 88%,79% 92%,65% 94%,64% 97%,59% 99%,42% 99%,37% 97%,36% 94%,22% 94%,20% 90%,14% 88%,12% 85%,12% 71%,16% 66%,21% 64%,21% 40%,15% 39%,14% 35%,18% 33%,23% 32%,17% 31%,12% 28%,12% 15%,16% 12%,21% 9%,25% 6%,33% 5%);
}
.pts-back-top:hover { background: transparent; box-shadow: none; }
.pts-back-top:focus-visible { outline: 3px solid #cf1418; outline-offset: 4px; }
.pts-back-top__car { display: block; position: relative; z-index: 1; flex-shrink: 0; filter: drop-shadow(0 3px 2px #0003); transition: transform .2s; }
.pts-back-top:hover .pts-back-top__car { transform: translateY(-3px); }
.pts-back-top__label { font: 600 12px/1.3 Inter,Arial,sans-serif; color: #252525; text-shadow: 0 0 3px #fff,0 0 6px #fff,0 1px 2px #fff; position: relative; z-index: 1; }
.pts-back-top__road { position: absolute; top: 55px; left: 50%; width: 38px; height: 86px; transform: translateX(-50%); pointer-events: none; opacity: 0; }
.pts-back-top__road::before,.pts-back-top__road::after { content: ''; position: absolute; top: 0; bottom: 0; width: 7px; background: repeating-linear-gradient(155deg,#454b51 0 3px,transparent 3px 7px); }
.pts-back-top__road::before { left: 0; }
.pts-back-top__road::after { right: 0; transform: scaleX(-1); }
.pts-back-top.is-driving .pts-back-top__car { animation: pts-car-drive .7s ease-in forwards; }
.pts-back-top.is-driving .pts-back-top__road { animation: pts-car-tracks .7s ease-out forwards; }
body:has(.contact-widget.is-open) .pts-back-top { visibility: hidden; pointer-events: none; }
@keyframes pts-car-drive { 0% { transform: translateY(0); } 20% { transform: translateY(3px); } 75% { opacity: 1; } 100% { transform: translateY(-85px); opacity: 0; } }
@keyframes pts-car-tracks { 0% { opacity: 0; clip-path: inset(0 0 100%); } 30% { opacity: .45; } 75% { opacity: .3; clip-path: inset(0); } 100% { opacity: 0; clip-path: inset(0); } }
@media(max-width:1439px) { .pts-back-top { right: 20px; bottom: calc(96px + env(safe-area-inset-bottom,0px)); } }
@media(max-width:768px) { .pts-back-top { right: 16px; bottom: calc(88px + env(safe-area-inset-bottom,0px)); width: 56px; height: 106px; } .pts-back-top__car { width: 54px; height: 86px; } }
@media(prefers-reduced-motion:reduce) {
  .pts-back-top,.pts-back-top__car { transition: none; }
  .pts-back-top.is-driving .pts-back-top__car,.pts-back-top.is-driving .pts-back-top__road { animation: none; }
  .pts-back-top:hover .pts-back-top__car { transform: none; }
}
