/* Tower Project Map – front end */
.tpm,.tpm-modal{--tpm-accent:#F26A21;--tpm-dark:#172033;--tpm-h:620px;--tpm-grey:#F5F7FA;--tpm-line:#e7eaf0;--tpm-muted:#667085;--tpm-body:#4b5565;--tpm-ink:#101722}
.tpm{font-family:inherit;color:var(--tpm-dark);margin:0 auto;container-type:inline-size;container-name:tpm}
.tpm *{box-sizing:border-box}
.tpm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:26px}
.tpm-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.44px;color:var(--tpm-accent);text-transform:uppercase;margin:0 0 10px;padding:0}
.tpm-title{font-weight:600;font-size:clamp(28px,4vw,46px);line-height:1.1;margin:0 0 14px;padding:0;color:var(--tpm-dark)}
.tpm-lead{font-size:16px;line-height:1.65;color:var(--tpm-body);margin:0;padding:0;max-width:560px}
.tpm-stats{display:flex;gap:12px}
.tpm-stat{background:var(--tpm-grey);border-radius:12px;padding:12px 18px;min-width:130px}
.tpm-stat b{display:block;font-size:30px;line-height:1;font-weight:700}
.tpm-stat span{font-size:12px;color:var(--tpm-muted)}

.tpm-shell{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 380px;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(23,32,51,.12);border:1px solid var(--tpm-line);background:#fff}
.tpm-mapwrap{position:relative;min-width:0}
.tpm-map{height:var(--tpm-h);background:#eaf2f8}
.tpm-map.streets-on{background:#f2f2f2}
.tpm-crumb{position:absolute;top:16px;left:16px;z-index:600;display:flex;gap:6px;align-items:center;background:rgba(255,255,255,.94);border-radius:30px;padding:6px 8px;box-shadow:0 6px 18px rgba(0,0,0,.08);font-size:13px;font-weight:700}
.tpm-crumb button{border:0;background:transparent;font:inherit;color:var(--tpm-dark);cursor:pointer;padding:4px 8px;border-radius:20px;line-height:1.2}
.tpm-crumb button:hover{background:#fff2e9;color:var(--tpm-accent)}
.tpm-crumb .sep{color:#b8c0cc}
.tpm-crumb .cur{color:var(--tpm-accent);padding:4px 8px}

.tpm-panel{position:relative;height:var(--tpm-h);background:#fff;border-left:1px solid var(--tpm-line);display:flex;flex-direction:column;overflow:hidden}
.tpm-pbody{padding:20px;overflow:auto;flex:1}
.tpm-k{font-size:11px;font-weight:800;letter-spacing:1.3px;color:var(--tpm-accent);text-transform:uppercase;margin:0 0 6px;padding:0}
.tpm-panel h3{font-size:28px;line-height:1.1;margin:0 0 4px;padding:0;color:var(--tpm-dark)}
.tpm-sub{font-size:13px;color:var(--tpm-muted);margin:0 0 16px;padding:0}
.tpm-row{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--tpm-line);background:#fff;border-radius:10px;padding:10px 12px;margin:0 0 8px;cursor:pointer;text-align:left;font:inherit;color:var(--tpm-dark);text-decoration:none;transition:.15s}
.tpm-row:hover{border-color:var(--tpm-accent);transform:translateX(2px);color:var(--tpm-dark)}
.tpm-row .nm{flex:1;font-weight:700;font-size:14px}
.tpm-row .nm small{display:block;font-weight:400;color:var(--tpm-muted);font-size:12px}
.tpm-row .ct{font-size:20px;font-weight:700}
.tpm-row .go{color:var(--tpm-accent);font-weight:800}
.tpm-bar{display:block;height:4px;background:var(--tpm-grey);border-radius:4px;margin-top:6px;overflow:hidden}
.tpm-bar i{display:block;height:100%;background:var(--tpm-accent);border-radius:4px}
.tpm-ri{width:30px;height:30px;border-radius:50%;border:2px solid var(--tpm-dark);background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.tpm-ri img{width:72%;height:72%;object-fit:contain;margin:0}
.tpm-ri.g{background:#111;border-color:#111}
.tpm-ri.g img,.tpin.dark img{filter:brightness(0) saturate(100%) invert(53%) sepia(77%) saturate(2780%) hue-rotate(352deg) brightness(98%) contrast(92%)}

.tpm-pfoot{padding:14px 20px;border-top:1px solid var(--tpm-line);background:#fff}
.tpm-btn{display:block;text-align:center;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.5px;border-radius:5px;padding:12px 20px;text-decoration:none;border:2px solid var(--tpm-accent);background:var(--tpm-accent);color:#fff!important;cursor:pointer;transition:.2s}
.tpm-btn:hover{filter:brightness(.92)}
.tpm-btn.ghost{background:transparent;color:var(--tpm-dark)!important;border-color:var(--tpm-dark)}
.tpm-pfoot a.sm{display:block;text-align:center;font-size:13px;font-weight:700;color:var(--tpm-accent);margin-top:8px;text-decoration:none}

.tpm-hero{position:relative;height:170px;margin:-20px -20px 0;background:var(--tpm-dark) center/cover}
.tpm-hero.nophoto{height:110px;background:linear-gradient(135deg,var(--tpm-dark),#2c3a55);display:flex;align-items:flex-end;padding:14px}
.tpm-hero .dim{color:#fff;font-size:28px;font-weight:700}
.tpm-hero[data-open]{cursor:pointer}
.tpm-hero .ph-btn{position:absolute;left:12px;right:12px;bottom:12px;text-align:left;background:#fff7f1;color:#8a3d10;border:1px solid #f7c9a8;border-radius:8px;padding:9px 12px;font:inherit;font-size:12.5px;font-weight:700;line-height:1.3;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.tpm-hero:hover .ph-btn,.tpm-hero .ph-btn:focus{background:var(--tpm-accent);border-color:var(--tpm-accent);color:#fff}
.tpm-cap{font-size:11.5px;color:var(--tpm-muted);background:var(--tpm-grey);margin:0 -20px 14px;padding:8px 20px}
.tpm-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:20px;margin-bottom:8px}
.tpm-badge.g{background:#fff2e9;color:var(--tpm-accent)}
.tpm-badge.s{background:var(--tpm-grey);color:var(--tpm-dark)}
.tpm-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.tpm-facts div{background:var(--tpm-grey);border-radius:8px;padding:10px 12px}
.tpm-facts small{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--tpm-muted)}
.tpm-facts b{font-size:18px}
.tpm-scope{margin:-2px 0 14px}
.tpm-scope small{display:block;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--tpm-muted);margin-bottom:8px}
.tpm-scope .tpm-chips{margin-bottom:0}
.tpm-sel{margin:4px 0 12px}
.tpm-sel label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}
.tpm-sel select{width:100%;border:1px solid #d5dbe3;border-radius:8px;padding:9px 10px;font-size:13px;font-weight:600;color:var(--tpm-dark);background:#fff}
.tpm-more{display:block;width:100%;text-align:left;background:#fff7f1;border:1px solid #f7c9a8;color:#8a3d10;border-radius:8px;padding:11px 14px;font-size:13px;font-weight:700;cursor:pointer;margin-bottom:12px}
.tpm-more:hover{border-color:var(--tpm-accent);color:var(--tpm-accent)}
.tpm-step{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--tpm-muted);margin-bottom:10px}
.tpm-step button{width:34px;height:34px;border:1px solid var(--tpm-line);background:#fff;border-radius:6px;cursor:pointer;font-size:16px;color:var(--tpm-dark);padding:0}
.tpm-step button:hover{border-color:var(--tpm-accent);color:var(--tpm-accent)}

.tpm-legend{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12px;color:var(--tpm-muted)}
.tpm-legend span{display:inline-flex;align-items:center;gap:6px;margin-right:14px}
.tpm-legend i{width:14px;height:14px;border-radius:50%;display:inline-block;border:2px solid var(--tpm-accent);background:#111}
.tpm-legend i.l{background:#fff;border-color:var(--tpm-dark)}
.tpm-near{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:22px}
.tpm-near span{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--tpm-muted);margin-right:6px}
.tpm-near a{font-size:13px;font-weight:600;background:var(--tpm-grey);border-radius:30px;padding:7px 14px;text-decoration:none;color:var(--tpm-dark)}
.tpm-near a:hover{background:#fff2e9;color:var(--tpm-accent)}

/* pins */
.tpm .leaflet-div-icon,.tpm-modal .leaflet-div-icon{background:none;border:0}
.tpin{position:relative;width:46px;height:46px;border-radius:50%;background:#fff;border:3px solid var(--tpm-accent);box-shadow:0 6px 16px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:transform .15s}
.tpin img{width:72%;height:72%;object-fit:contain}
.tpin b{position:absolute;top:-8px;right:-14px;background:var(--tpm-dark);color:#fff;font-size:12px;font-weight:700;padding:3px 7px;border-radius:12px;border:2px solid #fff;white-space:nowrap;line-height:1.2}
.tpin:hover{transform:scale(1.12)}
.tpin.sm{width:36px;height:36px;border-width:2px}
.tpin.dark{background:#111;border-color:#111}
.tpin.dark b{background:var(--tpm-accent)}
.tpin.lite{background:#fff;border-color:var(--tpm-dark)}
.tpin.on{transform:scale(1.2);box-shadow:0 0 0 4px rgba(242,106,33,.35),0 6px 16px rgba(0,0,0,.25)}
.tpin.bld{width:42px;height:42px}
.tpin.bld{opacity:.85}
.tpin.bld.on{opacity:1;background:var(--tpm-accent);border-color:#fff;transform:scale(1.18);box-shadow:0 0 0 5px rgba(242,106,33,.35),0 8px 18px rgba(0,0,0,.3)}
.tpin.bld.on img{filter:brightness(0) invert(1)}
.tpin-pulse:before{content:'';position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--tpm-accent);animation:tpmPulse 1.8s ease-out infinite}
@keyframes tpmPulse{from{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.4)}}
.tclus{width:44px;height:44px;border-radius:50%;background:var(--tpm-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;border:4px solid rgba(255,255,255,.85);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.city-mode .tpin.sm{opacity:.35}
.tpm-plbl{display:inline-block;transform:translate(-50%,-50%);font-size:9px;font-weight:600;color:#8a94a6;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 3px #eaf2f8,0 0 3px #eaf2f8;pointer-events:none}
.tpm-plbl.on{transform:translate(-50%,23px);color:var(--tpm-dark);font-weight:800;font-size:10px;text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 4px #fff}
.tpm-citylbl{display:inline-block;transform:translateX(-50%);background:#fff;border:1px solid var(--tpm-line);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700;color:var(--tpm-dark);white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.tpm .leaflet-container{font-family:inherit}
.tpm .leaflet-control-attribution{background:rgba(255,255,255,.55)!important;font-size:9px;color:#8a93a3;padding:0 5px}
.tpm .leaflet-control-attribution a{color:#8a93a3}

/* modal */
.tpm-modal{position:fixed;inset:0;z-index:2147483000;background:rgba(10,14,22,.72);display:none;align-items:center;justify-content:center;padding:24px}
.tpm-modal.open{display:flex}
.tpm-modal *{box-sizing:border-box}
.tpm-mbox{background:#fff;border-radius:14px;width:min(1080px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4);color:var(--tpm-dark,#172033)}
.tpm-mtop{display:flex;justify-content:space-between;align-items:center;background:#101722;color:#fff;padding:12px 16px;font-size:13px;font-weight:700}
.tpm-mtop button{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:16px;padding:0}
.tpm-mscroll{overflow:auto}
.tpm-mgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}
.tpm-mleft{display:flex;flex-direction:column;background:#eef1f5;min-width:0}
.tpm-mimg{position:relative;flex:0 0 auto;height:clamp(260px,48vh,420px);overflow:hidden;background:#2a3140}
.tpm-mimg .bg{position:absolute;inset:-80px;background:center/cover no-repeat;filter:blur(28px) saturate(1.1) brightness(.8)}
.tpm-mimg .fg{position:absolute;inset:0;background:center/contain no-repeat}
.tpm-mimg button{z-index:2;position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:20px;cursor:pointer;color:#172033;padding:0}
.tpm-mimg .pv{left:12px}.tpm-mimg .nx{right:12px}
.tpm-mimg .cnt{z-index:2;position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:4px 9px;border-radius:12px}
.tpm-thumbs{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;background:#fff;border-top:1px solid var(--tpm-line);flex:0 0 auto}
.tpm-thumbs img{width:96px;height:64px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.65;border:2px solid transparent;flex:0 0 auto;transition:opacity .15s}
.tpm-thumbs img:hover{opacity:1}
.tpm-thumbs img.on{opacity:1;border-color:#F26A21}
.tpm-minfo{padding:18px 22px;display:flex;flex-direction:column}
.tpm-minfo .tpm-badge{align-self:flex-start}
.tpm-minfo h3{font-size:clamp(19px,1.9vw,23px);text-transform:uppercase;line-height:1.15;margin:4px 0 2px;padding:0}
.tpm-minfo .tpm-facts{margin:8px 0 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tpm-minfo .tpm-facts div{padding:7px 9px;border-radius:6px}
.tpm-minfo .tpm-facts small{font-size:9px;letter-spacing:.6px}
.tpm-minfo .tpm-facts b{font-size:14px;line-height:1.25;display:block}
.tpm-minfo .tpm-sub{margin-bottom:6px}
.tpm-minfo .tpm-mlab{margin:0 0 6px}
.tpm-minfo .tpm-chips{margin-bottom:10px}
.tpm-minfo .tpm-feat{margin-bottom:12px;font-size:13px}
.tpm-minfo .tpm-feat li{padding:2px 0 2px 20px}
.tpm-mlab{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#667085;margin:2px 0 8px;padding:0}
.tpm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.tpm-chips span{background:#fff2e9;color:#b4501a;font-size:12px;font-weight:700;padding:5px 10px;border-radius:20px}
.tpm-feat{list-style:none;margin:0 0 16px;padding:0;font-size:13.5px}
.tpm-feat li{padding:3px 0 3px 22px;position:relative;margin:0}
.tpm-feat li:before{content:'✓';position:absolute;left:0;color:#F26A21;font-weight:800}
.tpm-mcta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.tpm-mcta .tpm-btn{flex:1 1 auto;font-size:13px;white-space:nowrap;padding:10px 14px;text-align:center}
.tpm-story{border-top:1px solid #e7eaf0;padding:18px 22px 24px;color:#333;font-size:14.5px;line-height:1.75}
.tpm-smeta{font-size:13px;line-height:1.7;color:#555;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid #e7eaf0}
.tpm-smeta b{color:#333;font-weight:700}
.tpm-sbody h4,.tpm-sbody h3,.tpm-sbody h5{font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;color:#222;margin:22px 0 10px;padding:0;text-transform:none;letter-spacing:0}
.tpm-sbody p{font-size:14.5px;line-height:1.75;color:#333;margin:0 0 14px;padding:0}
.tpm-sbody strong{color:#222}
.tpm-sbody a{color:var(--tpm-accent)}
.tpm-sbody ul,.tpm-sbody ol{margin:0 0 14px 20px;padding:0}
.tpm-slinks{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:13px}
.tpm-slinks a{color:#8a5a2b;text-decoration:underline;text-underline-offset:2px}
.tpm-slinks a:hover{color:var(--tpm-accent)}

/* filter bar */
.tpm-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px}
.tpm-search{position:relative;flex:1 1 260px;min-width:0}
.tpm-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:var(--tpm-muted);stroke-width:2;stroke-linecap:round;pointer-events:none}
.tpm .tpm-filters input[type=search],.tpm .tpm-filters select{width:100%;height:46px;border:1px solid var(--tpm-line);border-radius:12px;background:#fff;font:inherit;font-size:14px;color:var(--tpm-dark);margin:0;box-shadow:0 2px 8px rgba(23,32,51,.04)}
.tpm .tpm-filters input[type=search]{padding:0 14px 0 42px}
.tpm .tpm-filters select{width:auto;flex:0 1 210px;padding:0 36px 0 14px;-webkit-appearance:none;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23667085' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center}
.tpm .tpm-filters input:focus,.tpm .tpm-filters select:focus{outline:none;border-color:var(--tpm-accent);box-shadow:0 0 0 3px rgba(242,106,33,.15)}
.tpm.tpm-filtered .tpm-f-photo{border-color:var(--tpm-accent);color:var(--tpm-accent);font-weight:700}
.tpm-f-reset{border:0;background:transparent;color:var(--tpm-accent);font:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:8px 6px}
.tpm-f-reset:hover{text-decoration:underline}
.tpm-sugg{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--tpm-line);border-radius:12px;box-shadow:0 18px 40px rgba(23,32,51,.16);max-height:320px;overflow:auto}
.tpm-sugg li{display:flex;align-items:baseline;gap:4px;padding:10px 12px;border-radius:8px;font-size:14px;cursor:pointer;color:var(--tpm-body);margin:0;list-style:none}
.tpm-sugg li b{color:var(--tpm-dark)}
.tpm-sugg li small{margin-left:auto;padding-left:10px;color:var(--tpm-muted);font-size:12px;white-space:nowrap}
.tpm-sugg li.on,.tpm-sugg li:hover{background:#fff2e9}
.tpm-sugg li.none{cursor:default;background:transparent;line-height:1.5}
.tpm-empty{padding:18px;border:1px dashed var(--tpm-line);border-radius:12px;text-align:center;color:var(--tpm-muted);font-size:14px;margin-top:12px}
.tpm-empty p{margin:0 0 6px;padding:0}
.tpm-linkbtn{border:0;background:transparent;color:var(--tpm-accent);font:inherit;font-weight:700;cursor:pointer;padding:4px}

/* project locations grid */
.tpm-gwrap{margin-top:34px}
.tpm-ghead{display:flex;justify-content:space-between;align-items:flex-end;gap:10px 20px;flex-wrap:wrap;margin-bottom:14px}
.tpm .tpm-gtitle{margin:0;padding:0;font-size:clamp(22px,2.4vw,30px);line-height:1.1;font-weight:700;text-transform:uppercase;color:var(--tpm-dark)}
.tpm-gcount{font-size:13px;color:var(--tpm-muted)}
.tpm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tpm-card{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid #dcdfe4;border-radius:3px;padding:11px;font:inherit;color:var(--tpm-dark);cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:0}
.tpm-card:hover{border-color:#b9bfc8;box-shadow:0 6px 16px rgba(23,32,51,.08)}
.tpm-card.on{border-color:var(--tpm-accent);box-shadow:0 0 0 1px var(--tpm-accent) inset}
.tpm-cimg{flex:0 0 64px;width:64px;height:50px;object-fit:cover;border-radius:2px;background:#e9edf2;display:block}
.tpm-cimg.none{display:flex;align-items:center;justify-content:center;background:var(--tpm-dark)}
.tpm-cimg.none img{width:24px;height:24px;object-fit:contain;opacity:.85;filter:brightness(0) saturate(100%) invert(53%) sepia(77%) saturate(2780%) hue-rotate(352deg) brightness(98%) contrast(92%)}
.tpm-ctxt{display:flex;flex-direction:column;gap:3px;min-width:0}
.tpm-ctxt b{font-size:14px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpm-ctxt small{font-size:11.5px;line-height:1.3;color:var(--tpm-muted)}
.tpm-gfoot{text-align:center;margin-top:18px}
.tpm-gmore{background:#f7f7f7;border:1px solid #c9cdd3;border-radius:2px;padding:12px 22px;font:inherit;font-size:13.5px;font-weight:700;color:var(--tpm-dark);cursor:pointer}
.tpm-gmore span{color:var(--tpm-accent)}
.tpm-gmore:hover{border-color:var(--tpm-accent)}
.tpm a.tpm-gmore{display:inline-block;text-decoration:none}
.tpm .tpm-gmore[hidden]{display:none}

@media (max-width:980px){
	.tpm-shell{grid-template-columns:1fr}
	.tpm-map{height:min(var(--tpm-h),440px)}
	.tpm-panel{height:auto;max-height:none;border-left:0;border-top:1px solid var(--tpm-line)}
}
@media (max-width:860px){.tpm-mgrid{grid-template-columns:1fr}.tpm-mimg{height:280px}.tpm-mcta .tpm-btn{flex:1 1 100%}}
@media (max-width:600px){
	.tpm-minfo .tpm-facts{grid-template-columns:1fr 1fr}
	.tpm-stats{width:100%}.tpm-stat{flex:1;min-width:0}
	.tpm-map{height:380px}
	.tpm-modal{padding:0}.tpm-mbox{max-height:100vh;height:100%;border-radius:0}
}

/* layout follows the width of the section (works in narrow Divi columns too) */
@container tpm (max-width:900px){
	.tpm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.tpm-shell{grid-template-columns:1fr}
	.tpm-map{height:min(var(--tpm-h),440px)}
	.tpm-panel{height:auto;border-left:0;border-top:1px solid var(--tpm-line)}
	.tpm-pbody{max-height:none}
}
@container tpm (max-width:760px){
	.tpm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.tpm-search{flex-basis:100%}
	.tpm .tpm-filters select{flex:1 1 0;min-width:0}
}
@container tpm (max-width:520px){
	.tpm-grid{grid-template-columns:1fr}
	.tpm-map{height:360px}
	.tpm-stats{width:100%}.tpm-stat{flex:1;min-width:0}
}

/* Clusters use a project icon instead of a numeric count. */
.tpm .tclus img { width: 22px; height: 22px; object-fit: contain; }
