
.cf-mask{position:fixed;inset:0;z-index:9998;display:none;background:rgba(0,0,0,.3)}
.cf-mask.show{display:block}
.contact-float{position:fixed;right:12px;bottom:90px;z-index:9999;display:flex;flex-direction:column;gap:12px}
.cf-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.28);cursor:pointer;transition:transform .2s;text-decoration:none;font-size:24px;opacity:.92}
.cf-btn:active{transform:scale(.9)}
.cf-phone{background:linear-gradient(135deg,#e63946,#c1121f);color:#fff;border:2px solid rgba(255,255,255,.5)}
.cf-wechat{background:#07c160;color:#fff;border:2px solid rgba(255,255,255,.5)}
.cf-pop{position:fixed;right:14px;bottom:235px;z-index:10000;background:#fff;border-radius:14px;box-shadow:0 10px 36px rgba(0,0,0,.3);padding:18px 16px 14px;text-align:center;display:none;width:190px}
.cf-pop.show{display:block}
.cf-pop img{width:150px;height:150px;border-radius:10px;display:block;margin:0 auto}
.cf-pop b{display:block;margin:10px 0 2px;font-size:15px;color:#333}
.cf-pop span{font-size:12px;color:#999}

.banner { background-image: url('/banner-photo4-20261111-desktop.webp'); }
.cf-btn { box-sizing: border-box; }
.cf-pop { box-sizing: border-box; }
.cf-pop img { height: auto; aspect-ratio: 755 / 793; object-fit: contain; }
.cf-pop a { display: inline-block; }
.cf-close { display: block; margin: 8px auto 0; padding: 6px 12px; border: 1px solid #767676; border-radius: 6px; background: #fff; color: #222; cursor: pointer; }
.cf-btn:focus-visible, .cf-pop a:focus-visible, .cf-close:focus-visible { outline: 2px solid #163b82; outline-offset: 3px; }
@media (max-width: 767px) {
  .banner { background-image: url('/banner-photo4-20261111-mobile.webp'); }
}
@media (max-width: 768px) {
  .banner-cta .btn { max-width: calc(100% - 60px); box-sizing: border-box; }
}
@media (max-height: 520px) {
  .cf-pop { bottom: auto; top: 50%; transform: translateY(-50%); max-height: calc(100vh - 24px); overflow: auto; }
}
