.partner{height:300vh}
.pt-pin{position:sticky;top:0;height:100vh;overflow:hidden;background:#fff}
.city-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pt-title{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pt-hot{position:absolute;left:0;top:0;z-index:3;display:block;width:0;height:0;visibility:hidden;border-radius:6px;cursor:pointer}
.pt-card{position:absolute;left:50%;bottom:clamp(24px,5vh,64px);z-index:4;width:min(560px,calc(100vw - 32px));padding:26px 36px 28px;border-radius:var(--r);background:rgba(18,16,14,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-align:center;opacity:0;visibility:hidden;will-change:opacity,transform}
.pt-card p{margin:0 auto 20px;max-width:480px;color:#f1ebe1;font:500 clamp(18px,1.35vw,22px)/1.3 'Cormorant',serif}
.pt-card .btn{padding:0 28px}
.pt-fog{position:absolute;left:0;top:0;z-index:2;width:100%;height:62vh;background:linear-gradient(#fff 0,#fff 14%,rgba(255,255,255,0) 100%);transform-origin:50% 0;transform:scaleY(0);visibility:hidden;pointer-events:none}
.pt-black{position:absolute;inset:0;z-index:6;background:#0c0a09;opacity:0;pointer-events:none}
@media (max-width:760px){
  .pt-card{bottom:20px;padding:20px 20px 22px}
  .pt-card p{margin-bottom:16px}
}
