.travel-section { margin-block: 36px; }
.travel-section--camp { margin-block: 0; }
.travel-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,30%); align-items: center; gap: 36px; padding: 28px 32px; border: 1px solid #dde2d6; border-radius: 12px; background: #f1f3ec; color: #202922; }
.travel-copy { min-width: 0; }
.travel-copy h2 { margin: 0; font-size: clamp(1.65rem,2.5vw,2.1rem); line-height: 1.1; letter-spacing: -.025em; text-transform: none; }
.travel-intro { margin: 10px 0 18px; max-width: 56ch; color: #536153; font-size: .95rem; line-height: 1.55; }
.travel-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.travel-action { flex: 0 0 auto; gap: 14px; min-height: 42px; padding: 10px 16px; border-radius: 6px; font-family: inherit; font-size: .85rem; text-transform: none; letter-spacing: normal; }
.travel-note { flex: 1 1 170px; max-width: 32ch; margin: 0; color: #64705e; font-size: .75rem; line-height: 1.5; }
.travel-visual { position: relative; height: 160px; min-width: 0; overflow: hidden; border-radius: 9px; background: #e8ede1; border: 1px solid #dce3d4; }
.travel-route { position: absolute; inset: 0; width: 100%; height: 100%; }
.travel-round { position: absolute; z-index: 1; top: 10px; left: 12px; font-size: .7rem; color: #44614e; font-weight: 700; }
.travel-place { position: absolute; padding: 3px 6px; background: #ffffffeb; border-radius: 4px; font-size: .65rem; line-height: 1.3; font-weight: 650; }
.travel-place--home { left: 7%; bottom: 7%; }
.travel-place--camp { right: 4%; top: 49%; }
.travel-section--camp .travel-card { grid-template-columns: minmax(0,1fr) 180px; gap: 20px; padding: 24px; }
.travel-section--camp .travel-visual { height: 145px; }
@media(max-width:600px) {
  .travel-card, .travel-section--camp .travel-card { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 22px; }
  .travel-visual, .travel-section--camp .travel-visual { height: 120px; }
  .travel-bottom { align-items: flex-start; }
  .travel-note { max-width: none; }
  .travel-section { margin-block: 24px; }
  .travel-section--camp { margin-block: 0; }
}
