.business-marker{position:absolute;z-index:2;transform:translate(-50%,-100%);display:flex;align-items:center;gap:8px;min-height:36px;padding:5px 11px;background:#155e6c;color:#fff;border:1px solid #b2dedc;border-radius:20px;box-shadow:0 3px 10px #173c3925;font-size:13px;font-weight:600;white-space:nowrap}.business-marker:hover{background:#247e8c}.business-marker:after{content:"";position:absolute;left:50%;top:100%;height:13px;border-left:2px solid #277e8d}.business-marker small{font-size:10px;font-weight:400;opacity:.8}.business-marker-dot{width:7px;height:7px;background:#b4e8d5;border-radius:50%}.business-marker[hidden]{display:none}#detail.business-detail{width:328px;max-width:calc(100% - 32px);border-top:4px solid #278a9a;padding:21px 18px;z-index:5}#detail.business-detail h2{font-size:18px;font-weight:600;margin-bottom:8px}#detail.business-detail .hint{border-top:1px solid #dbe6e1;padding-top:16px;margin-top:15px;color:#687f7a;font-size:11px}.business-tenants[hidden]{display:none}.tenant-link{margin-top:10px;display:flex;align-items:center;gap:12px;padding:15px 11px;background:#e4f2ef;border:1px solid #b3d4d0;border-radius:7px;color:#164e59;text-decoration:none}.tenant-link:hover{background:#d0e9e4}.tenant-link:focus-visible{outline:3px solid #278a9a;outline-offset:3px}.tenant-link strong{font-size:14px;line-height:1.6;display:block}.tenant-link small{display:block;font-size:11px;margin-top:4px;color:#527777}.tenant-floor{font-size:11px;white-space:nowrap;padding:8px 5px;border-right:1px solid #b6d3ce}.tenant-note{display:block;color:#7b8b83;font-size:10px;margin-top:12px}@media(max-width:650px){#detail.business-detail{left:16px;top:auto;bottom:45px;max-height:45vh;overflow:auto}.business-marker{font-size:11px;min-height:32px}}
.town-sidebar {
  position: absolute;
  top: 28px;
  left: 32px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: min(330px, calc(100% - 64px));
  max-height: calc(100dvh - 72px);
  pointer-events: none;
}

.town-sidebar > header {
  position: static;
  max-width: 100%;
}

.town-sidebar #detail {
  pointer-events: auto;
}

body[data-mode="miniature"] .town-sidebar #detail {
  position: relative;
  inset: auto;
  min-height: 0;
  overflow: auto;
}

body[data-mode="miniature"] .town-sidebar #detail.business-detail {
  max-width: 100%;
}

body[data-mode="walk"] .town-sidebar {
  display: contents;
}

body[data-mode="walk"] .town-sidebar > header {
  display: none;
}

.home-interviews {
  margin-top: 24px;
}

.home-interviews h2 {
  margin: 0 0 8px;
  color: #40584f;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .09em;
}

.home-interviews ul {
  display: grid;
  gap: 6px;
  max-height: min(30dvh, 244px);
  overflow: auto;
  list-style: none;
  margin: 0;
  padding: 0;
  pointer-events: auto;
}

.home-interviews a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px 16px;
  padding: 9px 13px;
  background: #f9f8f1;
  border: 1px solid #d6ddd1;
  border-left: 2px solid #698276;
  border-radius: 0 5px 5px 0;
  color: #30453c;
  text-decoration: none;
}

.home-interviews a:hover {
  background: #edf1e8;
}

.home-interviews a:focus-visible {
  outline: 2px solid #52786a;
  outline-offset: -3px;
}

.home-interviews strong {
  font-size: 13px;
  line-height: 1.5;
}

.home-interviews .interview-person {
  grid-column: 1;
  color: #53655b;
  font-size: 12px;
  line-height: 1.5;
}

.home-interviews .interview-arrow {
  grid-area: 1 / 2 / span 2;
  font-size: 16px;
}

@media (max-width: 650px) {
  .town-sidebar {
    top: 20px;
    left: 18px;
    width: min(330px, calc(100% - 36px));
  }

  .town-sidebar > header {
    max-width: calc(100vw - 122px);
  }

  .home-interviews {
    margin-top: 18px;
  }
}
