.page-main { padding: 24px 0 64px; max-width: 820px; }
.page-main h1 { font-size: clamp(28px, 4vw, 40px); letter-spacing: -.03em; margin: 4px 0 18px; }
.kicker { font-size: 13px; font-weight: 800; color: #666; }
.lead-p { font-size: 17px; color: #333; margin-bottom: 20px; }
.page-body h2 { margin: 28px 0 10px; font-size: 22px; }
.page-body h3 { margin: 0 0 6px; font-size: 16px; }
.page-body p { margin-bottom: 12px; }
.plain { padding-inline-start: 18px; margin: 8px 0 16px; }
.plain li { margin: 6px 0; }
.ship-cards {
  display: grid; gap: 12px;
  grid-template-columns: 1fr;
  margin: 16px 0 24px;
}
.ship-card {
  border: 1.5px solid #ececec; border-radius: 16px; padding: 14px 16px; background: #fff;
}
.ship-card.hi { background: #fff8cc; border-color: #FFD400; }
.price-line { font-weight: 800; margin-bottom: 6px; }
.city-block { margin: 12px 0 20px; }
.city-list {
  display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0;
}
.city-list li {
  background: #f4f4f4; border-radius: 999px; padding: 6px 10px; font-size: 13px; font-weight: 600;
}
.city-filter { display: grid; gap: 6px; font-weight: 700; margin: 8px 0 16px; }
.city-filter input {
  height: 44px; border: 1.5px solid #ddd; border-radius: 12px; padding: 0 12px; font: inherit;
}
.city-result { background: #111; color: #fff; border-radius: 12px; padding: 12px 14px; font-weight: 600; }
@media (min-width: 992px) {
  .ship-cards { grid-template-columns: 1fr 1fr; }
}
