/* A flat-bottom tab attached to Contact's edge, with no hanging tag detail. */
#contact .foot { padding-right: 230px; min-height: 44px; }
#contact .back-top-dock {
  position: absolute; z-index: 5; right: var(--gutter); bottom: 0;
  display: flex; align-items: center; justify-content: flex-start; gap: 18px;
  width: max-content; height: 26px; padding: 0 18px;
  border: 0; border-radius: 9px 9px 0 0; clip-path: none;
  background: #ff6ee0; color: #0a0a0a !important;
  font: 600 11.5px/1 var(--font); letter-spacing: .035em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; user-select: none;
  transform: none; transform-origin: 50% 100%;
  transition: height .3s cubic-bezier(.2,1.5,.4,1), background .2s, border-radius .3s;
}
#contact .back-top-dock .bt-label { display: grid; overflow: hidden; height: 1.15em; }
#contact .back-top-dock .bt-label > span {
  grid-area: 1/1; display: block; line-height: 1.15; white-space: nowrap;
  transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
#contact .back-top-dock .bt-label > span + span { transform: translateY(115%); }
#contact .back-top-dock .bt-arrow { width: 18px; height: 20px; overflow: hidden; flex: none; }
#contact .back-top-dock svg { display: block; width: 18px; height: 18px; }
#contact .back-top-dock:is(:hover,:focus-visible) {
  height: 32px; background: #c98bff; border-radius: 11px 11px 0 0;
}
#contact .back-top-dock:is(:hover,:focus-visible) .bt-label > span { transform: translateY(-115%); }
#contact .back-top-dock:is(:hover,:focus-visible) .bt-label > span + span { transform: translateY(0); }
#contact .back-top-dock:is(:hover,:focus-visible) svg { animation: bt-arrow-launch .45s cubic-bezier(.2,.8,.2,1); }
#contact .back-top-dock:active { height: 24px; background: #66d9ff; transition-duration: .1s; }
#contact .back-top-dock:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
@keyframes bt-arrow-launch {
  0% { transform: translateY(0); }
  45% { transform: translateY(-22px); }
  46% { transform: translateY(22px); }
  100% { transform: translateY(0); }
}
@media (max-width:760px) {
  #contact .foot { padding-right: 0; }
  #contact .cbottom { padding-bottom: 44px !important; }
}
@media (prefers-reduced-motion:reduce) {
  #contact .back-top-dock, #contact .back-top-dock .bt-label > span { transition: none; }
  #contact .back-top-dock:is(:hover,:focus-visible) { height: 26px; }
  #contact .back-top-dock:is(:hover,:focus-visible) svg { animation: none; }
}
