/* V3: people and moments lead; practical details remain available on request. */
.hero .hero-lead p + p { margin-top: 10px; }
.hero .hero-bg { object-position: 72% center; }
.travel-invitation { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); }
.travel-invitation p { margin: 0; color: #59646a; font-size: 16px; line-height: 1.9; }
.travel-invitation .button { flex-shrink: 0; gap: 18px; min-height: 48px; }
.narrative-line > span { display: inline; color: var(--ink, #172126); }
.narrative-line.is-narrative-ready > span { opacity: .72; transition: opacity 1.1s ease; }
.narrative-line.is-narrative-seen > span { opacity: 1; }
#journey .route-stage { margin-top: 38px; }
#journey .route-preview { min-height: 220px; }
#journey .route-preview-transport { color: #786348; }
#memories #memories-title { font-family: var(--sans); font-size: clamp(28px, 2.7vw, 40px); line-height: 1.75; letter-spacing: .035em; }
#stay .stay-content > p { margin-top: 24px; }
#stay #stay-title .zh-title { max-width: 19em; line-height: 1.8; }
#included .copy-section-head { margin-bottom: 22px; }
#included .narrative-practical { border-block: 1px solid #d8cfc1; }
#included .narrative-practical > summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 64px; padding: 16px 0; font-size: 16px; cursor: pointer; list-style: none; }
#included .narrative-practical > summary::-webkit-details-marker { display: none; }
#included .narrative-practical > summary > span { font-size: 23px; transition: transform .25s ease; }
#included .narrative-practical[open] > summary > span { transform: rotate(45deg); }
#included .narrative-practical > summary:focus-visible { outline: 2px solid var(--bronze); outline-offset: 5px; }
#included .narrative-practical > .included-layout { padding: 22px 0 30px; }
#included .narrative-practical:not([open]) > .included-layout { display: none; }
@media (max-width: 760px) {
  .hero .hero-bg { object-position: 93% center; }
  .travel-invitation { align-items: stretch; flex-direction: column; gap: 18px; margin-top: 22px; padding-top: 22px; }
  .travel-invitation .button { width: 100%; justify-content: center; }
  #journey .route-stage { margin-top: 28px; }
  #journey .route-preview { min-height: 300px; }
  #memories #memories-title { font-size: 27px; }
  .hero .hero-lead { font-size: 16px; line-height: 1.85; }
}
@media (max-width: 380px) {
  #journey .route-preview { min-height: 340px; }
}
@media (prefers-reduced-motion: reduce) {
  .narrative-line.is-narrative-ready > span { opacity: 1; transition: none; }
  #included .narrative-practical > summary > span { transition: none; }
}
