/* Small project-specific additions kept separate from the compact base stylesheet. */
.hero-visual-label {
  display: inline-block;
  margin: 0 0 16px;
  padding: 5px 8px;
  border-radius: 3px;
  background: rgba(17, 29, 24, .77);
  font-size: 11px;
  font-weight: 700;
}

.gallery-tools {
  display: grid;
  justify-items: start;
  gap: 16px;
  max-width: 390px;
}

.gallery-tools p { margin: 0; color: var(--muted); font-size: 14px; }

.gallery-toggle-all {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 218px;
  padding: 10px 13px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  transition: background .2s, color .2s;
}

.gallery-toggle-all:hover,
.gallery-toggle-all[aria-pressed="true"] { background: var(--ink); color: #fff; }

.map-embed {
  aspect-ratio: 1.25;
  overflow: hidden;
  border-radius: 5px;
  background: #dce1db;
}

.map-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 760px) {
  .map-embed { aspect-ratio: 1.5; }
  .gallery-tools { margin-top: 14px; gap: 12px; }
  .gallery-toggle-all { width: 100%; }
}

.document-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 28px;
  padding: 11px 14px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, color .2s;
}

.document-link:hover { background: var(--ink); color: #fff; }

.document-link small {
  padding-left: 8px;
  border-left: 1px solid currentColor;
  font-size: 10px;
  font-weight: 600;
}

.document-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 28px;
}

.document-links .document-link { margin-top: 0; }
