.quick-contact { position:fixed; right:24px; bottom:28px; z-index:90; padding:14px 18px; border:1px solid #dce7f5; border-radius:12px; background:#fff; box-shadow:0 8px 30px #16385c14; }
.quick-contact > span { display:block; color:#64748b; font-size:12px; margin-bottom:9px; }
.quick-contact a { display:flex; align-items:center; gap:12px; color:#1769ff; text-decoration:none; }
.quick-contact .site-icon { width:26px; height:26px; }
.quick-contact a span { display:flex; flex-direction:column; gap:3px; }
.quick-contact small { font-size:12px; color:#4b6380; }
.quick-contact strong { font-size:21px; letter-spacing:.04em; font-variant-numeric:tabular-nums; }
.quick-contact a:focus-visible, .contact-direct a:focus-visible { outline:3px solid #1769ff; outline-offset:5px; border-radius:4px; }
.contact-direct { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin:26px 0 0; padding:18px 22px; background:#eff6ff; border:1px solid #d9e8fc; border-radius:10px; }
.contact-direct > span { color:#536a86; font-size:14px; }
.contact-direct a { font-size:25px; font-weight:700; color:#1769ff; letter-spacing:.035em; text-decoration:none; }
.contact-direct small { font-size:13px; color:#63768e; }
@media (max-width:760px) {
  .quick-contact { display:none; }
  .mobile-cta { grid-template-columns:1.25fr 1fr 1fr; }
  .mobile-cta a { flex:1; min-width:0; padding:7px 4px; }
  .mobile-cta a.mobile-phone:first-child { flex:1.25; flex-direction:column; gap:2px; color:#fff; background:#1769ff; border:1px solid #1769ff; }
  .mobile-cta .mobile-phone small { font-size:12px; letter-spacing:.01em; line-height:1.2; }
  .contact-direct { gap:6px; flex-direction:column; align-items:flex-start; padding:16px; }
}
