.travel-cover { max-width: none; background: #e7ebe2; padding-top: 2rem; }
.travel-back { display: inline-block; margin-bottom: 3.5rem; font-size: .8rem; }
.travel-cover h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); }
.travel-lead { font-size: 1.15rem; }
.travel-cover-copy { margin-top: 1.5rem; font-size: 1.0625rem; }
.travel-text-link { display: inline-block; margin-top: 2rem; font-size: .85rem; }
.travel-premise { display: grid; gap: 2.5rem; }
.travel-types, .travel-process { border-top: 1px solid #d5d8cf; }
.travel-section-lead { margin-top: 1.5rem; font-size: 1.0625rem; }
.travel-type-grid { display: grid; gap: 1.5rem; margin-top: 3rem; }
.travel-type { padding: 1.5rem; background: #fffdf8; border: 1px solid #d5d8cf; }
.travel-type h3 { font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 2rem; }
.travel-type p, .travel-type li { font-size: 1rem; }
.travel-type .travel-place { margin-bottom: 1.5rem; font-weight: 600; }
.travel-type ul { padding-left: 1.2rem; margin: 1.5rem 0; }
.travel-type li + li { margin-top: .75rem; }
.travel-type .travel-type-note, .travel-example-note { color: #52624f; font-size: .8rem; }
.travel-type-note { padding-top: 1.25rem; border-top: 1px solid #d5d8cf; }
.travel-example-note { margin-top: 2rem; }
.travel-cost { max-width: none; background: #e7ebe2; }
.travel-cost-list { margin: 3rem 0 0; }
.travel-cost-list > div { display: grid; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid #c6cdbf; }
.travel-cost-list dt { font-size: 1.1rem; }
.travel-cost-list dt span { margin-right: 1rem; color: #736247; font-family: Georgia, serif; }
.travel-cost-list dd { margin: 0; max-width: 44rem; font-size: 1.0625rem; }
.travel-cost-note { max-width: 52rem; margin-top: 2rem; font-size: .85rem; }
.travel-price-example { display: grid; gap: 2rem; margin-top: 3rem; padding: 2rem 1.5rem; background: #fffdf8; border: 1px solid #c6cdbf; border-top: 3px solid #8c7856; border-radius: .4rem; box-shadow: 0 .75rem 2rem rgba(37, 56, 46, .05); }
.travel-price-heading .eyebrow { color: #736247; font-size: .65rem; letter-spacing: .15em; margin-bottom: 1.5rem; }
.travel-price-tag { display: inline-block; padding: .2rem .7rem; margin-bottom: 1rem; background: #efede5; color: #736247; font-size: .75rem; border-radius: 2rem; }
.travel-price-example h3 { font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.6; margin-bottom: 1rem; }
.travel-price-summary { font-size: .95rem; line-height: 2; }
.travel-price-amount { padding: 1.5rem 1rem; background: #edf0e8; border-radius: .25rem; text-align: center; align-self: center; }
.travel-price-label { font-size: .85rem; letter-spacing: .1em; }
.travel-price-total { margin: .5rem 0; font-family: Georgia, serif; font-size: clamp(4rem, 8vw, 5.5rem); line-height: 1.15; font-variant-numeric: lining-nums; }
.travel-price-total span { margin-left: .35em; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: 1.4rem; }
.travel-price-included { font-size: .8rem; line-height: 1.9; }
.travel-price-details { border-top: 1px solid #d5d8cf; padding-top: 1.25rem; }
.travel-price-breakdown { font-size: .85rem; line-height: 2; }
.travel-price-details .travel-example-note { margin-top: .75rem; }
.travel-steps { display: grid; gap: 2rem; padding-left: 1.5rem; margin: 3rem 0 0; }
.travel-steps li { padding-left: .5rem; }
.travel-steps p { font-size: 1rem; }
.travel-cta { max-width: none; text-align: center; background: #25382e; color: #f6f4ee; }
.travel-cta > p:not(.eyebrow) { margin-top: 2rem; font-size: 1.0625rem; }
.travel-cta .travel-cta-status { font-size: .8rem; }
.travel-cta-button { display: inline-flex; align-items: center; justify-content: center; gap: 2rem; padding: 1rem 1.5rem; margin-top: 1.5rem; background: #f6f4ee; color: #25382e; text-decoration: none; }
.travel-cta .travel-cta-footnote { font-size: .75rem; }
@media (min-width: 1024px) {
  .travel-price-example { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem 3rem; padding: 3rem; }
  .travel-price-details { grid-column: 1 / -1; }
  .travel-cover { padding-top: 3rem; }
  .travel-premise { grid-template-columns: 1fr 1.15fr; gap: 6vw; }
  .travel-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .travel-type { padding: 2.5rem; }
  .travel-cost-list > div { grid-template-columns: 1fr 2fr; gap: 3rem; }
  .travel-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
}
