.npw-location-dialog { box-sizing:border-box; width:min(860px,calc(100vw - 32px)); max-width:none; max-height:90vh; margin:auto; padding:0; color:#0a4354; background:#fff; border:1px solid #dce5e7; border-radius:22px; box-shadow:0 18px 48px #00141f2e; font-family:inherit; overflow:auto; }
.npw-location-dialog::backdrop { background:rgba(0,20,31,.65); }
.npw-location-dialog .npw-popup-inner { position:relative; box-sizing:border-box; min-height:418px; padding:31px 35px 16px; display:flex; flex-direction:column; }
.npw-location-dialog[data-size="medium"] .npw-popup-inner { min-height:608px; }
.npw-location-dialog[data-size="large"] .npw-popup-inner { min-height:898px; }
.npw-location-dialog header { border-bottom:1px solid #dce5e7; padding-bottom:23px; margin-bottom:29px; }
.npw-location-dialog .npw-popup-eyebrow { display:flex; align-items:flex-start; gap:20px; padding-right:50px; font-size:12.5px; font-weight:600; line-height:18px; letter-spacing:2.5px; color:#627887; }
.npw-popup-eyebrow span { padding-top:3px; }
.npw-popup-eyebrow img { width:32px; height:38px; flex-shrink:0; }
.npw-location-dialog h2 { margin:14px 0 7px; padding:0; color:#0a4354; font-size:31px; line-height:39px; font-weight:800; overflow-wrap:anywhere; }
.npw-location-dialog .npw-popup-status { margin:0; padding:0; color:#244d63; font-size:15px; line-height:22px; }
.npw-location-dialog .npw-popup-close { position:absolute; top:25px; right:29px; width:36px; height:36px; padding:6px; border:0; background:transparent; cursor:pointer; }
.npw-popup-close img { display:block; width:24px; height:24px; }
.npw-location-dialog .npw-popup-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 34px; padding-right:34px; margin-bottom:30px; }
.npw-location-dialog .npw-popup-person { display:flex; gap:14px; align-items:center; min-height:66px; box-sizing:border-box; padding:12px 13px; text-decoration:none; border:1px solid #dce5e7; border-radius:11px; background:#f7fbfc; color:#0a4354; }
.npw-popup-person > span:last-child { min-width:0; }
.npw-location-dialog .npw-popup-avatar { flex:0 0 40px; height:40px; display:grid; place-items:center; background:url('locations/portrait-placeholder.svg') center/40px 40px no-repeat; color:#627887; font-size:11px; line-height:16px; font-weight:700; }
.npw-location-dialog .npw-popup-person strong { display:block; font-weight:700; font-size:14.5px; line-height:20px; overflow-wrap:anywhere; }
.npw-location-dialog .npw-popup-role { display:block; margin-top:4px; color:#627887; font-size:11.5px; line-height:17px; overflow-wrap:anywhere; }
.npw-location-dialog .npw-popup-cta { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-top:auto; box-sizing:border-box; min-height:48px; padding:12px 16px; border-radius:10px; background:#0a4354; color:#fff; text-decoration:none; font-size:15px; font-weight:600; line-height:22px; }
.npw-location-dialog .npw-popup-cta[hidden] { display:none; }
.npw-popup-cta span { flex:1; text-align:center; }
.npw-popup-cta img { width:18px; height:14px; flex-shrink:0; }
.npw-location-dialog a:hover { filter:brightness(.95); }
.npw-location-dialog :focus-visible { outline:3px solid #12a8d7; outline-offset:3px; }
@media(max-width:640px) {
 .npw-location-dialog { width:calc(100vw - 24px); border-radius:16px; }
 .npw-location-dialog .npw-popup-inner { padding:24px 20px 20px; min-height:0!important; }
 .npw-location-dialog .npw-popup-close { top:18px; right:14px; }
 .npw-location-dialog .npw-popup-people { grid-template-columns:1fr; padding-right:0; gap:11px; }
 .npw-location-dialog h2 { font-size:28px; }
}
