/* A shared back-to-top control for the public website and customer portal. */
button.tc-back-to-top{position:fixed;right:calc(22px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:75;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:1px solid #ffffff3d;border-radius:50%;background:#315c3d;color:#fff;box-shadow:0 4px 16px #203f312b;cursor:pointer;line-height:1;touch-action:manipulation;transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
button.tc-back-to-top[hidden]{display:none!important}
button.tc-back-to-top svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
button.tc-back-to-top:focus-visible{outline:3px solid #203f31;outline-offset:4px;box-shadow:0 0 0 3px #fbfcf6}
@media(hover:hover) and (pointer:fine){button.tc-back-to-top:hover{background:#22452e;box-shadow:0 6px 20px #203f3138;transform:translateY(-2px)}}
button.tc-back-to-top:active{transform:scale(.95)}
@media(max-width:760px){button.tc-back-to-top{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:46px;height:46px;min-width:46px;min-height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}button.tc-back-to-top{transition:none}}
@media print{button.tc-back-to-top{display:none!important}}
