.jprsl-wrap{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:28px;align-items:start}
@media (max-width: 980px){.jprsl-wrap{grid-template-columns:1fr;}}
.jprsl-card{position:sticky;top:16px;border-radius:16px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08);background:#fff}
.jprsl-card-img{aspect-ratio:16/10;background:#e8f0e8;background-size:cover;background-position:center}
.jprsl-card-body{padding:16px}
.jprsl-eyebrow{font-size:12px;color:#667085}
.jprsl-title-row{display:flex;align-items:center;gap:8px}
.jprsl-dot{width:8px;height:8px;border-radius:999px;background:#ef4444;display:inline-block}
.jprsl-title{margin:0;font-size:22px;font-weight:800}
.jprsl-badge{margin-left:auto;font-size:12px;background:#f1f3f5;border-radius:999px;padding:2px 8px}
.jprsl-subtitle{margin:6px 0 10px;color:#6b7280;font-size:14px}
.jprsl-btn{display:inline-block;background:#0f172a;color:#fff;text-decoration:none;padding:8px 12px;border-radius:12px;font-size:14px}
.jprsl-mapwrap{position:relative}
.jprsl-map{min-height:720px;border-radius:18px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.08);background:#fff}
.jprsl-link{position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(255,255,255,.95);padding:8px 12px;border-radius:999px;font-size:14px;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.jprsl-tip{position:absolute;z-index:6;pointer-events:none;background:#111827;color:#fff;padding:6px 8px;border-radius:8px;font-size:12px;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.2);transform:translate(-50%,-120%)}
.jprsl-map svg{width:100%;height:auto;display:block}
.jprsl-map svg :is(path,polygon){fill:#dff3e3;stroke:#6fbf7b;stroke-width:.8}
.jprsl-map svg g.pref-hover :is(path,polygon){fill:#f26d5b !important;stroke:#f26d5b}
.jprsl-labels{position:absolute;inset:0;pointer-events:none;font-weight:700;color:#1a3e2a}
.jp-label{position:absolute;transform:translate(-50%,-50%);font-size:18px;text-shadow:0 1px 0 #fff,0 0 6px rgba(255,255,255,.8)}
.jp-city{position:absolute;transform:translate(-50%,-50%);font-size:14px;font-weight:600;color:#2a2a2a;text-shadow:0 1px 0 #fff,0 0 6px rgba(255,255,255,.9)}
.jp-pin{position:absolute;width:10px;height:10px;border-radius:999px;background:#e11d48;box-shadow:0 0 0 4px rgba(225,29,72,.15);transform:translate(-50%,-50%)}
