.section-vivid-location {
  background: var(--color-surface-soft);
  padding: clamp(3rem, 8vw, 6rem) 0;
}

.location-center-lead {
  color: var(--color-text-muted);
  max-width: 40rem;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.location-badges-row {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.loc-badge-circle {
  background: var(--olive);
  color: #fff;
  box-shadow: none !important;
}

.loc-badge-label {
  color: var(--ink);
  font-size: .9rem;
  text-transform: none;
  letter-spacing: 0;
}

.map-interactive-module {
  background: var(--color-surface-card);
  border: 1px solid var(--color-border-card);
  border-radius: 32px;
  overflow: hidden;
  box-shadow: none !important;
}

.map-controls-bar {
  background: transparent;
  border-bottom: 1px solid var(--color-border-card);
}

.map-cat-btn,
.layer-chip {
  border-radius: 999px;
  border: 1px solid var(--color-border-card);
  background: transparent;
  color: var(--ink);
  font-size: .88rem;
  padding: .45rem 1rem;
}

.map-cat-btn.active,
.layer-chip.active {
  background: var(--ink) !important;
  color: #fff !important;
  border-color: var(--ink) !important;
}

.map-sidebar {
  background: var(--color-surface-card);
}

.map-sidebar-title {
  font-family: var(--font-serif);
  font-weight: 400;
  text-transform: none;
}

.route-metric-pill {
  background: var(--color-surface-soft);
  color: var(--ink);
  border-radius: 999px;
}

.airbnb-floating-route-chip {
  background: var(--ink);
  color: #fff;
  border-radius: 999px;
}

.leaflet-map-canvas {
  border-radius: 0 !important;
}

.section-vivid-invest {
  background: var(--color-canvas);
  padding: clamp(3rem, 8vw, 6rem) 0;
}

.vivid-section-title-invest {
  font-family: var(--font-serif);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  text-transform: none;
  color: var(--ink);
}

.invest-split-card {
  background: var(--color-surface-soft);
  border: none;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: none !important;
}

.invest-split-img-box,
.invest-split-img {
  border-radius: 0;
  object-fit: cover;
}

.invest-split-content {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.invest-split-title {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  text-transform: none;
  letter-spacing: 0;
  color: var(--ink);
}

.invest-split-text {
  color: var(--color-text-body);
  line-height: 1.7;
}

.soccer-kids-img {
  mix-blend-mode: multiply;
}

.section-vivid-developer {
  background: var(--color-canvas);
  padding: clamp(3rem, 8vw, 6rem) 0;
}

.developer-center-box {
  background: var(--color-surface-soft);
  border-radius: 32px;
  padding: clamp(2rem, 5vw, 4rem);
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
  border: none;
  box-shadow: none !important;
}

.dev-bio-copy {
  color: var(--color-text-body);
  line-height: 1.75;
}

.section-vivid-booking {
  background: var(--color-surface-soft);
  padding: clamp(3rem, 8vw, 6rem) 0;
}

.appointment-core-frame {
  border-radius: 32px;
  overflow: hidden;
  border: 1px solid var(--color-border-card);
}