/* 案例页顶栏「联系我」：hover / focus 弹出微信二维码，不跳转。与首页同一套 .qr-wrap / .qr-pop */
.qr-wrap{position:relative;display:inline-flex}
.qr-pop{position:absolute;left:50%;top:calc(100% + 14px);transform:translate(-50%,8px);width:176px;padding:12px 12px 10px;border-radius:18px;background:#fff;color:#0A0A0C;
  box-shadow:0 20px 50px rgba(0,0,0,.28),0 0 0 1px rgba(10,10,12,.06);text-align:center;z-index:80;pointer-events:none;
  opacity:0;visibility:hidden;transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.34,1.56,.64,1),visibility 0s .25s}
.qr-pop img{display:block;width:152px;height:152px;margin:0 auto;border-radius:10px}
.qr-pop small{display:block;margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.04em}
.qr-pop::before{content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:2px}
.qr-wrap:hover .qr-pop,.qr-wrap:focus-within .qr-pop{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.34,1.56,.64,1),visibility 0s}

/* 三栏顶栏（.top）右栏按钮 */
.top__cta{justify-self:end}
.qr-btn{appearance:none;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;border:1.5px solid currentColor;background:transparent;color:var(--n-ink,#0A0A0C);
  font:inherit;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background .25s,color .25s}
.qr-btn:hover,.qr-wrap:focus-within .qr-btn{background:var(--n-ink,#0A0A0C);color:#fff}
.qr-btn:focus-visible{outline:2px solid var(--n-ink,#0A0A0C);outline-offset:2px}
.top.is-dark .qr-btn{color:#F2F5FF}
.top.is-dark .qr-btn:hover,.top.is-dark .qr-wrap:focus-within .qr-btn{background:#F2F5FF;color:#0A0A0C}

/* 触屏没有 hover，悬停弹层无意义：改为点按弹出底部二维码面板（contact-qr.js）；窄屏顶栏放不下，顶栏按钮整体隐藏 */
@media (pointer:coarse){.qr-pop{display:none}}
@media (max-width:900px){.top__cta,.nav__cta-wrap{display:none}}

/* 触屏二维码面板：底部抽屉，二维码放大到 220px，长按即可让微信识别 */
.qr-sheet{position:fixed;inset:0;z-index:130;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,10,12,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.qr-sheet.is-open{opacity:1;visibility:visible;transition:opacity .25s,visibility 0s}
.qr-sheet__card{position:relative;width:min(100%,420px);padding:28px 24px calc(28px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#fff;color:#0A0A0C;text-align:center;
  transform:translateY(40px);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.qr-sheet.is-open .qr-sheet__card{transform:none}
@media (min-width:480px){.qr-sheet{align-items:center}.qr-sheet__card{border-radius:28px;padding-bottom:28px}}
.qr-sheet__card h3{margin:0;font-size:18px;font-weight:700}
.qr-sheet__card img{display:block;width:220px;height:220px;margin:18px auto 0;border-radius:14px;box-shadow:0 0 0 1px rgba(10,10,12,.08)}
.qr-sheet__card p{margin:16px 0 0;font-size:13px;line-height:20px;color:rgba(10,10,12,.62)}
.qr-sheet__close{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(10,10,12,.06);color:#0A0A0C;cursor:pointer}
.qr-sheet__close svg{width:18px;height:18px}
body.has-qr-sheet{overflow:hidden}
