/* Tenant Portal walkthrough. Mirrors book.nomadgroup.io: Fraunces / DM Sans / JetBrains Mono on #F4F3EE with #3636FF. */
.pt{--k:.5;--bg:#F4F3EE;--ink:#14120F;--acc:#3636FF;--s3:#d6d3d1;--s4:#a6a09b;--s5:#79716b;--s6:#57534d;--s7:#44403b;--s8:#292524;
  position:absolute;left:0;top:0;overflow:hidden;transform-origin:0 0;background:var(--bg);color:var(--s8);
  font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.43;letter-spacing:0;text-align:left;
  -webkit-font-smoothing:antialiased;pointer-events:none;user-select:none}
.pt *{box-sizing:border-box}
.pt p,.pt h1,.pt h2{margin:0;font-weight:inherit}
.pt img{display:block;max-width:none}
.pt .ic{display:block;flex:none;width:16px;height:16px}
.pt-instant,.pt-instant *{transition:none!important;animation:none!important}
.ptd{width:1280px;height:800px}
.ptm{width:390px;height:844px}
.pt-serif{font-family:'Fraunces',Georgia,serif}
.pt-mono{font-family:'JetBrains Mono',ui-monospace,monospace}

/* header */
.pt-h{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.08);background:rgba(244,243,238,.94)}
.ptd .pt-h{height:57px;padding:0 24px}
.pt-hl,.pt-hr{display:flex;align-items:center;min-width:0}
.pt-hr{gap:12px}
.pt-logo{height:22px;width:auto}
.ptd-div{width:1px;height:20px;margin:0 16px;background:rgba(0,0,0,.15)}
.pt-client{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--s7);white-space:nowrap}
.pt-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--ink)}
.pt-rev{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--s5);font-variant-numeric:tabular-nums;white-space:nowrap}
.pt-prog{display:block;width:80px;height:4px;overflow:hidden;border-radius:99px;background:rgba(0,0,0,.1)}
.pt-prog i{display:block;width:0;height:100%;border-radius:99px;background:var(--acc);transition:width calc(0.5s*var(--k)) ease}
.pt-mapbtn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:99px;background:var(--ink);color:#fff;font-size:12px;line-height:16px;font-weight:500}
.pt-mapbtn .ic{width:14px;height:14px}
.pt-moon{padding:8px;color:var(--s5)}

/* desktop layout */
.ptd-b{display:grid;grid-template-columns:320px 1fr;height:743px}
.ptd-side{overflow:hidden;padding:16px;border-right:1px solid rgba(0,0,0,.08)}
.pt-lbl{display:flex;align-items:center;gap:6px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;line-height:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--s5)}
.pt-lbl .ic{width:12px;height:12px}
.ptd-side>.pt-lbl{padding:0 8px}
.ptd-welcome{margin-top:4px!important;padding:0 8px;font-family:'Fraunces',Georgia,serif;font-size:20px;line-height:28px;font-weight:500!important;letter-spacing:-.01em;color:var(--ink)}
.ptd-desc{margin-top:4px!important;padding:0 8px;font-size:12px;line-height:1.625;color:var(--s5)}
.ptd-count{margin:20px 0 4px!important}
.pt-list{display:flex;flex-direction:column;gap:4px}
.pt-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid transparent;border-radius:8px;transition:background-color calc(0.2s*var(--k)),border-color calc(0.2s*var(--k))}
.pt-item.is-hover{border-color:rgba(0,0,0,.08);background:rgba(0,0,0,.03)}
.pt-item.is-on{border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.05)}
.pt-item.is-on::before{content:"";position:absolute;left:-1px;top:6px;bottom:6px;width:2px;border-radius:99px;background:var(--acc)}
.pt-num{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--s4);font-variant-numeric:tabular-nums}
.pt-it{display:flex;flex:1;flex-direction:column;min-width:0}
.pt-it b{overflow:hidden;font-size:14px;line-height:20px;font-weight:500;color:var(--s8);white-space:nowrap;text-overflow:ellipsis}
.pt-it small{overflow:hidden;font-size:12px;line-height:16px;color:var(--s5);white-space:nowrap;text-overflow:ellipsis}
.pt-chev{color:var(--s3)}
.pt-item.is-on .pt-chev{color:var(--s5)}
.ptd-main{position:relative;overflow:hidden}
.ptd-scroll{padding:40px 32px 140px;transition:transform calc(0.9s*var(--k)) cubic-bezier(.45,.05,.25,1)}
.pt-det{transition:opacity calc(0.18s*var(--k)) ease}

/* space detail (shared) */
.ptd-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ptd-topl{min-width:0}
.pt-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pt-area{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--s5)}
.pt-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid;border-radius:99px;font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.pt-badge--new{background:#eff6ff;border-color:#bedbff;color:#1447e6}
.pt-badge--soon{background:#fffbeb;border-color:#fee685;color:#b75000}
.pt-badge--furnished{background:#f0fdfa;border-color:#96f7e4;color:#00786f}
.pt-title{margin-top:8px!important;font-family:'Fraunces',Georgia,serif;font-size:48px;line-height:1;font-weight:500!important;letter-spacing:-.015em;color:var(--ink)}
.pt-addr{display:flex;align-items:center;gap:6px;margin-top:6px!important;font-size:14px;line-height:20px;color:var(--s5)}
.pt-addr .ic{width:14px;height:14px}
.pt-addr>span:first-of-type{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pt-link{flex:none;font-weight:500;color:var(--acc);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.pt-pager{display:flex;flex:none;align-items:center;border:1px solid rgba(0,0,0,.12);border-radius:99px;font-size:12px}
.pt-pg{padding:6px 10px;border-radius:99px;color:var(--s6);transition:background-color calc(0.2s*var(--k))}
.pt-pg .ic{width:14px;height:14px}
.pt-pg.is-dis{opacity:.3}
.pt-pg.is-hover{background:rgba(0,0,0,.06)}
.pt-pgn{padding:0 6px;font-family:'JetBrains Mono',monospace;color:var(--s5);font-variant-numeric:tabular-nums}
.pt-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-top:16px}
.pt-mo{font-size:24px;line-height:32px;font-weight:600!important;color:var(--ink)}
.pt-mo span{font-size:14px;font-weight:400;color:var(--s4)}
.pt-psf{font-size:14px;color:var(--s5)}
.pt-avail{display:inline-flex;align-self:center;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;background:#ecfdf5;font-size:12px;line-height:16px;font-weight:600;color:#007956}
.pt-date{display:inline-flex;align-self:center;align-items:center;gap:6px;font-size:12px;color:var(--s5)}
.pt-avail .ic,.pt-date .ic{width:12px;height:12px}
.ptd-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:8px;height:360px;margin-top:24px;overflow:hidden;border-radius:12px}
.pt-tile{position:relative;overflow:hidden;background:rgba(0,0,0,.06)}
.pt-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform calc(0.7s*var(--k)) ease}
.pt-tile.is-hover img{transform:scale(1.05)}
.pt-tile--a{grid-column:span 2;grid-row:span 2}
.pt-tile--b{grid-column:span 2}
.pt-more img{filter:brightness(.5)}
.pt-more b{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-weight:600;color:#fff}
.pt-plan{border:1px solid rgba(0,0,0,.06);background:#fff}
.pt-plan img{padding:8px;object-fit:contain}
.pt-plan em{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:4px;background:rgba(28,25,23,.75);font-size:10px;line-height:15px;font-style:normal;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff}
.pt-hov{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:rgba(0,0,0,.55);font-size:12px;font-weight:500;color:#fff;opacity:0;transition:opacity calc(0.2s*var(--k))}
.pt-hov .ic{width:14px;height:14px}
.pt-tile.is-hover .pt-hov{opacity:1}
.pt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pt-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(0,0,0,.1);border-radius:99px;background:#fff;font-size:12px;line-height:16px;font-weight:500;color:var(--s7)}
.pt-chip .ic{width:12px;height:12px}
.pt-reacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pt-rx{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid;border-radius:8px;font-size:14px;line-height:20px;font-weight:500;transition:background-color calc(0.25s*var(--k)),color calc(0.25s*var(--k)),border-color calc(0.25s*var(--k)),transform calc(0.15s*var(--k))}
.pt-rx--tour{background:#ecfdf5;border-color:#a4f4cf;color:#007956}
.pt-rx--pass{background:#fff1f2;border-color:#ffccd3;color:#c70036}
.pt-rx--top{background:#fffbeb;border-color:#fee685;color:#b75000}
.pt-rx--tour.is-on{background:#009767;border-color:#009767;color:#fff}
.pt-rx--pass.is-on{background:#ec003f;border-color:#ec003f;color:#fff}
.pt-rx--top.is-on{background:#f99c00;border-color:#f99c00;color:#fff}
.pt-rx--top.is-on .ic{fill:currentColor}
.pt-rx.is-press{transform:scale(.95)}
.pt-stats{display:grid;grid-template-columns:repeat(6,1fr);margin-top:20px;overflow:hidden;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff}
.pt-stat{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 16px;border-right:1px solid rgba(0,0,0,.08)}
.pt-stat span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--s5)}
.pt-stat b{font-family:'JetBrains Mono',monospace;font-size:17px;line-height:22px;font-weight:500;color:var(--ink)}
.pt-stat small{margin-top:-3px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--s5)}
.pt-stat--fill{border-right:0;background:rgba(0,0,0,.07)}
.pt-stats--m{grid-template-columns:1fr 1fr}
.pt-stats--m .pt-stat{border-bottom:1px solid rgba(0,0,0,.08)}
.pt-stats--m .pt-stat:nth-child(2n){border-right:0}
.pt-two{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:start;margin-top:24px}
.pt-two--one{grid-template-columns:1fr}
.ptm .pt-two{grid-template-columns:1fr;gap:16px;margin-top:16px}
.pt-card{padding:20px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}
.pt-about{margin-top:12px!important;font-size:15px;line-height:1.65;color:var(--s7)}
.pt-amen{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pt-amen span{padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.05);font-size:12px;color:var(--s7)}
.pt-convo{margin-top:20px}
.ptm .pt-convo{margin-top:16px}
.pt-convo-h{display:flex;align-items:center;justify-content:space-between}
.pt-tabs{display:flex;gap:4px;font-size:12px}
.pt-tabs span{padding:4px 12px;border-radius:99px;color:var(--s6)}
.pt-tabs .is-on{background:var(--ink);color:#fff}
.pt-notes{margin-top:14px}
.pt-empty{font-size:13px;color:var(--s5)}
.pt-note{padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.04);animation:ptIn calc(0.35s*var(--k)) ease both}
.pt-note p:first-child{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--s4)}
.pt-note b{font-size:13px;font-weight:600;color:var(--ink)}
.pt-note p+p{margin-top:2px;font-size:14px;color:var(--s7)}
.pt-input{display:flex;align-items:center;gap:12px;margin-top:16px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.15)}
.pt-field{flex:1;min-width:0;overflow:hidden;font-size:14px;line-height:20px;color:var(--s8);white-space:nowrap}
.pt-ph{color:var(--s4)}
.pt-caret{display:inline-block;width:1px;height:16px;margin-left:1px;vertical-align:-3px;background:var(--ink);animation:ptBlink 1s steps(1) infinite}
.pt-post{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:99px;background:var(--s4);font-size:12px;font-weight:500;color:#fff;transition:background-color calc(0.2s*var(--k))}
.pt-post .ic{width:12px;height:12px}
.pt-post.is-ready{background:var(--ink)}
@keyframes ptIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ptBlink{50%{opacity:0}}

.pt-contact{position:absolute;right:20px;bottom:20px;z-index:5;display:flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:99px;background:var(--ink);font-size:14px;font-weight:500;color:#fff;box-shadow:0 12px 30px -8px rgba(0,0,0,.35);transition:transform calc(0.2s*var(--k))}
.pt-contact img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.pt-contact.is-hover{transform:translateY(-2px)}

/* lightbox (desktop) */
.pt-lb{position:absolute;inset:0;z-index:8;display:grid;grid-template-rows:48px 1fr 92px;background:rgba(12,12,12,.95);color:#fff;opacity:0;visibility:hidden;transition:opacity calc(0.3s*var(--k)),visibility calc(0.3s*var(--k))}
.pt-lb.is-open{opacity:1;visibility:visible}
.pt-lb-top{display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:13px;font-weight:500}
.pt-lb-r{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:400;color:rgba(255,255,255,.7)}
.pt-lb-x{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff}
.pt-lb-x .ic{width:14px;height:14px}
.pt-lb-mid{position:relative}
.pt-lb-img{position:absolute;inset:6px 90px;display:grid;place-items:center}
.pt-lb-img img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity calc(0.2s*var(--k))}
.pt-lb-img.is-plan img{padding:12px;background:#fff}
.pt-lb-nav{position:absolute;top:50%;display:grid;place-items:center;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff}
.pt-lb-nav.l{left:16px}.pt-lb-nav.r{right:16px}
.pt-lb-th{display:flex;align-items:center;gap:14px;padding:0 16px;overflow:hidden}
.pt-lb-g{display:flex;align-items:center;gap:6px}
.pt-lb-g>em{font-family:'JetBrains Mono',monospace;font-size:8px;font-style:normal;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.45);writing-mode:vertical-rl;transform:rotate(180deg)}
.pt-th{width:60px;height:42px;overflow:hidden;border-radius:4px;opacity:.5;outline:2px solid transparent;outline-offset:1px;transition:opacity calc(0.2s*var(--k)),outline-color calc(0.2s*var(--k))}
.pt-th img{width:100%;height:100%;object-fit:cover}
.pt-th.is-on{opacity:1;outline-color:#fff}

/* desktop cursor */
.pt-cur{position:absolute;left:0;top:0;z-index:20;width:22px;height:22px;transform:translate(760px,520px);filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.35));transition:transform calc(0.75s*var(--k)) cubic-bezier(.45,.05,.25,1)}
.pt-ring{position:absolute;left:0;top:0;z-index:19;width:34px;height:34px;margin:-17px 0 0 -17px;border:2px solid rgba(54,54,255,.6);border-radius:50%;opacity:0}
.pt-ring.is-go{animation:ptRing calc(0.45s*var(--k)) ease-out}
@keyframes ptRing{from{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.25)}}

/* phone */
.pt-status{position:relative;z-index:12;display:flex;align-items:center;justify-content:space-between;height:50px;padding:4px 26px 0 34px;background:var(--bg);color:#000;font:600 16px/1 -apple-system,'SF Pro Text','DM Sans',sans-serif;transition:background-color calc(0.3s*var(--k)),color calc(0.3s*var(--k))}
.pt-sb{display:flex;align-items:center;gap:6px}
.pt-sb svg{display:block;height:12px;width:auto}
.ptm .pt-h{height:52px;padding:0 16px}
.ptm .pt-logo{height:18px}
.ptm .ptd-div{height:16px;margin:0 12px}
.ptm .pt-hr{gap:4px}
.ptm .pt-mapbtn{padding:6px 10px}
.ptm-view{position:absolute;left:0;right:0;top:102px;bottom:0;overflow:hidden}
.ptm-scroll{position:relative;transition:transform calc(0.8s*var(--k)) cubic-bezier(.45,.05,.25,1)}
.ptm-hero{position:relative;height:596px;overflow:hidden;color:#fff}
.ptm-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ptm-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,8,.2) 0%,rgba(12,10,8,.35) 40%,rgba(12,10,8,.78) 100%)}
.ptm-hero-in{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:0 20px 30px}
.ptm-mark{display:block;height:30px;width:auto;margin-bottom:22px}
.ptm-letter{display:block;margin-bottom:18px;font-family:'Fraunces',Georgia,serif;font-size:40px;line-height:1;font-weight:600}
.ptm-welcome{font-family:'Fraunces',Georgia,serif;font-size:40px;line-height:1.05;font-weight:500!important;letter-spacing:-.015em}
.ptm-hdesc{margin-top:10px!important;font-size:15px;line-height:1.5;color:rgba(255,255,255,.86)}
.ptm-meta{margin-top:18px!important;font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.ptm-by{margin-top:10px!important;font-family:'Fraunces',Georgia,serif;font-size:14px;font-style:italic;color:rgba(255,255,255,.86)}
.ptm-explore{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:10px 18px;border-radius:99px;background:#fff;font-size:14px;font-weight:500;color:var(--ink)}
.ptm-explore .ic{width:14px;height:14px}
.ptm-tabs{overflow:hidden;padding:12px 0 12px 16px;border-bottom:1px solid rgba(0,0,0,.06);background:var(--bg)}
.ptm-track{display:flex;gap:8px;transition:transform calc(0.5s*var(--k)) ease}
.ptm-tab{display:flex;flex:none;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#fff;font-size:12px;color:var(--s8);transition:background-color calc(0.2s*var(--k)),border-color calc(0.2s*var(--k))}
.ptm-tab em{font-family:'JetBrains Mono',monospace;font-style:normal;color:var(--s4)}
.ptm-tab.is-on{border-color:rgba(0,0,0,.12);background:#e9e8e3}
.ptm-det{padding:20px 16px 150px;transition:opacity calc(0.18s*var(--k)) ease}
.pt-title--m{font-size:36px;line-height:1.1}
.ptm .pt-addr{margin-top:8px!important}
.pt-pager--m{display:inline-flex;margin-top:10px}
.ptm .pt-price{margin-top:14px}
.ptm .pt-avail,.ptm .pt-date{flex-basis:auto}
.ptm-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:360px;margin-top:18px;overflow:hidden;border-radius:12px}
.ptm-grid .pt-tile--a{grid-column:auto;grid-row:span 2}
.ptm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ptm .pt-plan em{left:6px;right:6px;bottom:6px;padding:3px 4px;font-size:9px;text-align:center}
.ptm .pt-reacts{gap:8px}
.ptm .pt-rx{padding:9px 14px}
.ptm .pt-stats{margin-top:16px}
.ptm-broker{position:absolute;left:0;right:0;bottom:64px;z-index:7;display:flex;align-items:center;gap:12px;height:62px;padding:0 16px;border-top:1px solid rgba(0,0,0,.07);background:#fff}
.ptm-broker img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.ptm-broker b{display:block;font-size:14px;font-weight:600;color:var(--ink)}
.ptm-broker small{display:block;font-size:12px;color:var(--s5)}
.ptm-mail{display:grid;place-items:center;width:38px;height:38px;margin-left:auto;border-radius:50%;background:rgba(0,0,0,.05);color:var(--s7)}
.ptm-safari{position:absolute;left:0;right:0;bottom:0;z-index:7;display:flex;justify-content:center;height:64px;padding-top:9px;background:rgba(247,247,245,.97)}
.ptm-url{display:flex;align-items:center;gap:6px;height:36px;padding:0 18px;border-radius:99px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.05);font-size:14px;font-weight:500;color:#111}
.ptm-url .ic{width:13px;height:13px;color:#555}
.ptm-home{position:absolute;left:50%;bottom:8px;z-index:13;width:134px;height:5px;margin-left:-67px;border-radius:99px;background:#111;transition:background-color calc(0.3s*var(--k))}
.ptm.is-dark .pt-status{background:#0b0b0b;color:#fff}
.ptm.is-dark .ptm-home{background:#fff}

/* phone map */
.ptm-map{position:absolute;left:0;right:0;top:160px;bottom:126px;z-index:5;overflow:hidden;background:#ECEBE6;opacity:0;visibility:hidden;transition:opacity calc(0.35s*var(--k)),visibility calc(0.35s*var(--k))}
.ptm-map.is-open{opacity:1;visibility:visible}
.ptm-plane{position:absolute;left:0;top:0;transition:transform calc(0.8s*var(--k)) cubic-bezier(.45,.05,.25,1)}
.ptm-plane>img{position:absolute;left:0;top:0;width:100%;height:100%}
.ptm-lbl{position:absolute;transform:translate(-50%,-50%);font-size:10px;line-height:1.2;color:#76746b;text-align:center;white-space:nowrap}
.ptm-lbl--hood{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.2em;color:#a3a198}
.ptm-pin{position:absolute;display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(0,0,0,.2);border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);font-size:11px;font-weight:600;color:var(--ink);transform:translate(-50%,-50%);transition:width calc(0.25s*var(--k)),height calc(0.25s*var(--k)),border-color calc(0.25s*var(--k)),box-shadow calc(0.25s*var(--k)),font-size calc(0.25s*var(--k))}
.ptm-pin.is-sel{z-index:2;width:34px;height:34px;border:3px solid var(--acc);box-shadow:0 0 0 5px rgba(54,54,255,.15),0 2px 6px rgba(0,0,0,.2);font-size:13px}
.ptm-show{position:absolute;left:12px;top:12px;z-index:3;padding:6px 12px;border-radius:99px;background:#fff;font-size:12px;font-weight:500;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.ptm-zoom{position:absolute;right:12px;top:12px;z-index:3;display:flex;flex-direction:column;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.ptm-zoom span{display:grid;place-items:center;width:30px;height:30px;color:#222}
.ptm-zoom span+span{border-top:1px solid #e5e5e5}
.ptm-zoom .ic{width:14px;height:14px}
.ptm-attr{position:absolute;right:6px;bottom:4px;z-index:3;padding:1px 4px;border-radius:3px;background:rgba(255,255,255,.75);font-size:8.5px;color:#666}
.ptm-card{position:absolute;left:12px;right:12px;bottom:14px;z-index:4;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:opacity calc(0.2s*var(--k))}
.ptm-card-img{position:relative;height:112px}
.ptm-card-img img{width:100%;height:100%;object-fit:cover}
.ptm-card-x{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff}
.ptm-card-x .ic{width:12px;height:12px}
.ptm-card-b{padding:12px 14px 14px}
.ptm-card-t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600!important;color:var(--ink)}
.ptm-card-t em{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.06);font-size:10px;font-style:normal;font-weight:600;color:var(--s6)}
.ptm-card-s{margin-top:4px!important;font-size:12px;color:var(--s5)}
.ptm-open{display:flex;align-items:center;justify-content:center;gap:6px;height:38px;margin-top:12px;border-radius:9px;background:var(--ink);font-size:13px;font-weight:500;color:#fff}
.ptm-open .ic{width:14px;height:14px}

/* phone lightbox */
.ptm-lb{position:absolute;inset:0;z-index:11;background:#0b0b0b;color:#fff;opacity:0;visibility:hidden;transition:opacity calc(0.3s*var(--k)),visibility calc(0.3s*var(--k))}
.ptm-lb.is-open{opacity:1;visibility:visible}
.ptm-lb .pt-lb-top{position:absolute;left:0;right:0;top:56px;height:44px}
.ptm-lb-img{position:absolute;left:0;right:0;top:130px;bottom:170px;display:grid;place-items:center}
.ptm-lb-img img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity calc(0.2s*var(--k))}
.ptm-lb-img.is-plan img{padding:10px;background:#fff}
.ptm-lb .pt-lb-nav{top:auto;bottom:110px;margin-top:0}
.ptm-lb .pt-lb-th{position:absolute;left:0;right:0;bottom:36px;gap:10px}
.ptm-lb .pt-th{width:50px;height:36px}

/* phone tap */
.pt-tap{position:absolute;left:0;top:0;z-index:30;width:46px;height:46px;margin:-23px 0 0 -23px;border:2px solid rgba(20,18,15,.28);border-radius:50%;background:rgba(20,18,15,.16);opacity:0}
.pt-tap.is-go{animation:ptTap calc(0.55s*var(--k)) ease-out}
.ptm.is-dark .pt-tap{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.22)}
@keyframes ptTap{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.15)}}
.ptm .pt-field{white-space:normal}
.ptm .pt-client>span{max-width:150px;overflow:hidden;text-overflow:ellipsis}
