.trip-hero{min-height:clamp(520px, calc(100svh - var(--header-h) - 52px), 860px);background:var(--band);color:#fff;align-items:end;display:grid;position:relative;overflow:hidden}.trip-hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.trip-hero:after{content:"";background:linear-gradient(#0000 28%,#00000061 62%,#0000009e 100%);position:absolute;inset:0}.trip-hero-text{--focus:#fff;z-index:1;padding-block:96px clamp(40px,6vw,80px);position:relative}.trip-hero .label,.trip-hero .lead{color:#ffffffe6}.trip-hero h1{color:#fff;max-width:14ch;margin:14px 0 clamp(18px,2.4vw,28px)}.trip-hero h1:lang(zh){max-width:10em}.trip-hero .lead{max-width:50ch}.trip-hero .button{margin-top:clamp(22px,3vw,32px)}.trip-intro{grid-template-columns:7fr 5fr;align-items:center;gap:clamp(32px,6vw,96px);padding-block:clamp(64px,9vw,128px);display:grid}.trip-intro-text p{max-width:56ch;margin-top:24px;font-size:18px}.trip-intro-img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--image-radius);outline:1px solid var(--image-outline);outline-offset:-1px;width:100%}.route{background:var(--surface);padding-block:clamp(64px,9vw,128px)}.route-grid{grid-template-columns:6fr 5fr;align-items:center;gap:clamp(32px,6vw,96px);display:grid}.route-text h2{max-width:16ch;margin-top:12px}.stops{border-top:1px solid var(--line);margin-top:clamp(28px,4vw,44px);padding:0;list-style:none}.stops a{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 18px;padding-block:18px;text-decoration:none;display:grid}.stop-n{background:var(--accent);width:30px;height:30px;color:var(--on-accent);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-size:14px;font-weight:600;display:inline-grid;translate:0 -3px}.stop-text{gap:4px;display:grid}.stop-place{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:calc(clamp(22px, 2vw, 27px) * var(--display-scale));color:var(--ink);line-height:1.15}.stop-line{max-width:46ch;color:var(--body);font-size:15px}.stop-count{text-transform:var(--label-case);letter-spacing:var(--label-tracking);color:var(--muted);white-space:nowrap;font-size:13px;font-weight:500}@media (hover:hover){.stops a:hover .stop-place{text-underline-offset:5px;text-decoration:underline 1px}}.map{margin:0}.map svg{aspect-ratio:4/5;border-radius:var(--image-radius);outline:1px solid var(--line);outline-offset:-1px;width:100%;height:auto;display:block;overflow:hidden}.map-credit{color:var(--muted);margin-top:8px;font-size:12px}.map-land{fill:var(--page);stroke:color-mix(in srgb, var(--ink) 22%, var(--page));stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-dot{fill:var(--muted);opacity:.7}.map-stop circle{fill:var(--accent);stroke:var(--page);stroke-width:2px;vector-effect:non-scaling-stroke}.map-n{fill:var(--on-accent);font-family:var(--font-body);text-anchor:middle;dominant-baseline:central;font-weight:600}.map-label{fill:var(--ink);stroke:var(--page);stroke-linejoin:round;paint-order:stroke;font-family:var(--font-display);font-weight:var(--display-weight);dominant-baseline:central}.chapter{padding-block:clamp(64px,8vw,120px)}.chapter+.chapter{border-top:1px solid var(--line)}.chapter-grid{grid-template-columns:4fr 8fr;align-items:start;gap:clamp(32px,5vw,80px);display:grid}.chapter-head{top:calc(var(--header-h) + 32px);position:sticky}.chapter-head h2{margin-top:12px}.chapter-line{max-width:34ch;margin-top:16px;font-size:18px}.chapter-cards{gap:clamp(48px,5vw,72px) clamp(24px,3vw,40px)}.chapter-cards .h3{font-size:calc(clamp(22px, 1.9vw, 26px) * var(--display-scale))}@media (width<=899px){.trip-intro,.route-grid,.chapter-grid{grid-template-columns:1fr}.trip-intro-img{aspect-ratio:4/3}.chapter-head{position:static}.map{max-width:520px}}@media (width<=560px){.stops a{grid-template-columns:auto 1fr}.stop-count{grid-column:2}}@media (prefers-reduced-motion:no-preference){.trip-hero-img{animation:settle 1.1s var(--ease) both}.trip-hero-text>*{animation:rise .6s var(--ease) both}.trip-hero-text>:nth-child(2){animation-delay:.1s}.trip-hero-text>:nth-child(3){animation-delay:.2s}.trip-hero-text>:nth-child(4){animation-delay:.3s}.stops a .stop-n{transition:scale .2s var(--ease)}@media (hover:hover){.stops a:hover .stop-n{scale:1.12}}}
