.travel-planning {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  border-top: 1px solid var(--line, #d6d8cf);
}
.planning-guide h2 { margin: 0 0 24px; font-size: 44px; line-height: 1.15; }
.planning-guide > p { margin: 0; max-width: 58ch; line-height: 1.8; }
.planning-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; padding: 0; margin: 28px 0 0; list-style: none; }
.planning-links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding-block: 12px; border-bottom: 1px solid var(--line, #d6d8cf); line-height: 1.5; }
.planning-links a:hover { color: var(--rust, #b75b35); }
.planning-links span { flex: 0 0 auto; }
.planning-faq h3 { margin: 0 0 20px; font-size: 28px; line-height: 1.3; }
.planning-faq details { border-bottom: 1px solid var(--line, #d6d8cf); }
.planning-faq summary { cursor: pointer; padding-block: 18px; font-weight: 600; line-height: 1.5; }
.planning-faq details > p { margin: 0; padding: 0 0 22px; line-height: 1.8; }
.route-days { align-items: start; column-gap: 64px; row-gap: 32px; }
.route-days-heading { position: static; }
.route-program-note { max-width: 68ch; margin: 0; line-height: 1.8; }
/* The introduction now has two blocks. Keep the route list below both,
   rather than letting the third grid child fall into the left column. */
.route-days > div:last-child { grid-column: 1 / -1; min-width: 0; }
.route-days .day { grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1.4fr); gap: 28px; align-items: start; }
.route-days .day > span { font-size: 12px; line-height: 1.5; overflow-wrap: normal; word-break: normal; }
.planning-links a:focus-visible, .planning-faq summary:focus-visible { outline: 2px solid var(--rust, #b75b35); outline-offset: 4px; }
@media (max-width: 1000px) {
  .travel-planning { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .planning-guide h2 { font-size: 36px; }
}
@media (max-width: 760px) {
  .route-days { gap: 28px; }
  .route-days .day { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-block: 28px; }
  .route-days .day > span, .route-days .day h3, .route-days .day p { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .planning-guide h2 { font-size: 30px; }
  .planning-faq h3 { font-size: 25px; }
  .planning-links { grid-template-columns: minmax(0, 1fr); }
}
