h2 { margin: 0 0 12px; font-size: 1.4rem; color: var(--lv-ink); line-height: 1.2; }
.title-with-icon { display: inline-flex; align-items: center; gap: 8px; }
.title-icon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  color: var(--lv-muted);
  flex: 0 0 22px;
}
.title-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  stroke: currentColor;
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
h3 { margin: 18px 0 10px; font-size: 1.12rem; color: var(--lv-ink); font-weight: 600; line-height: 1.3; }
p { color: var(--lv-muted); line-height: 1.62; margin: 0 0 12px; font-size: 1rem; }
ul { margin: 0; padding-left: 20px; color: var(--lv-muted); line-height: 1.62; }
li { margin-bottom: 8px; font-size: 1rem; }
a { color: var(--lv-link, var(--lv-ink-soft)); }
.place { margin-bottom: 18px; }
.place:last-child { margin-bottom: 0; }
.map-link { display: inline-block; margin-top: 2px; font-weight: 600; text-decoration: none; font-size: 0.98rem; }
.map-link:hover { text-decoration: underline; }
.note { margin-top: 16px; }
@media (max-width: 700px) {
  h2 { font-size: 1.25rem; }
  h3 { font-size: 1.04rem; }
}
