/* Independent of content layouts; small touch targets stay clear of page navigation. */
.dq-contact-rail{position:fixed;right:max(0px,env(safe-area-inset-right));bottom:calc(66px + env(safe-area-inset-bottom));z-index:45;display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 160px);overflow-y:auto;padding:15px;scrollbar-width:thin}
.dq-contact-rail__link{position:relative;isolation:isolate;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:56px;min-height:56px;padding:7px 4px;border:1px solid #dceaf4;border-radius:18px;background:linear-gradient(145deg,#fff 25%,#f0f8ff);color:#173e61;box-shadow:0 5px 14px #173e6112,inset 0 1px 0 #fff;text-decoration:none;font-family:"Segoe UI",Arial,sans-serif;transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s ease,border-color .28s ease,color .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;animation:dq-contact-appear .45s ease both}
.dq-contact-rail__link:nth-child(2){animation-delay:.08s}
.dq-contact-rail__link:nth-child(3){animation-delay:.16s}
.dq-contact-rail__link:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(115deg,transparent 15%,#ffffff80 45%,transparent 75%);background-size:250% 100%;background-position:100% 0;opacity:0;pointer-events:none;transition:background-position .65s ease,opacity .3s ease}
.dq-contact-rail__icon{display:grid;place-items:center;color:#0878e8;flex-shrink:0;transition:transform .3s cubic-bezier(.2,.75,.25,1)}
.dq-contact-rail__icon img{width:24px;height:24px;object-fit:contain}
.dq-contact-rail__label{font-size:10px;font-weight:700;line-height:1.2;text-align:center;overflow-wrap:anywhere}
.dq-contact-rail__link--phone{background:linear-gradient(135deg,#ff9a24,#ff7817);border-color:#f47a12;color:#fff;box-shadow:0 5px 14px #ff8a1f33,inset 0 1px 0 #ffffff40}
.dq-contact-rail__link--phone:before{content:"";position:absolute;inset:-1px;border:1px solid #ffc400;border-radius:inherit;z-index:-1;opacity:0;pointer-events:none;animation:dq-contact-halo 2.4s ease-out .5s 2}
.dq-contact-rail__link--phone .dq-contact-rail__icon{color:#fff}
.dq-contact-rail__link:active{transform:scale(.96);box-shadow:0 2px 6px #173e6120}
.dq-contact-rail__link:focus-visible{box-shadow:0 5px 16px #0878e82b}
@media(hover:hover) and (pointer:fine){
    .dq-contact-rail__link:hover{transform:translate(-4px,-2px);border-color:#acd7ef;box-shadow:0 7px 18px #173e6124}
    .dq-contact-rail__link:hover:after{background-position:0 0;opacity:1}
    .dq-contact-rail__link:hover .dq-contact-rail__icon{transform:translateY(-1px) rotate(-7deg)}
    .dq-contact-rail__link--phone:hover{border-color:#0878e8;box-shadow:0 7px 18px #0878e838}
    .dq-contact-rail__link:active{transform:translateX(-2px) scale(.97)}
}
.dq-contact-rail__link:focus-visible{outline:3px solid #ff8a1f;outline-offset:2px}
.dq-back-to-top{position:fixed;right:24px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:44}
@media(min-width:1024px){.dq-contact-rail{right:8px;bottom:calc(24% - 10px);gap:12px}.dq-contact-rail__link{flex-direction:row;justify-content:flex-start;gap:10px;width:116px;min-height:48px;padding:10px 13px;border-radius:24px}.dq-contact-rail__label{font-size:13px;text-align:left}}
@media(max-height:480px){.dq-contact-rail{bottom:2px;flex-direction:row;max-height:96px}}
@keyframes dq-contact-appear{from{opacity:0}to{opacity:1}}
@keyframes dq-contact-halo{0%{transform:scale(1);opacity:.45}75%,100%{transform:scale(1.15,1.22);opacity:0}}
@media(prefers-reduced-motion:reduce){.dq-contact-rail__link,.dq-contact-rail__icon,.dq-contact-rail__link:before,.dq-contact-rail__link:after{animation:none;transition:none}.dq-contact-rail__link:hover,.dq-contact-rail__link:active,.dq-contact-rail__link:hover .dq-contact-rail__icon{transform:none}}
@media print{.dq-contact-rail{display:none}}
