/* Readability pass: strong cover title and generously sized mobile text. */
body{font-size:18px;line-height:1.85}.page{padding-bottom:96px}
.edition{font-size:20px}.edition span{font-size:11px}
.hero h1{font-family:'Microsoft YaHei','微软雅黑',sans-serif;font-size:clamp(50px,16.5vw,76px);font-weight:700;letter-spacing:.04em;line-height:1.25;font-synthesis:weight}
.hero .hero-en{font-size:15px;letter-spacing:.16em;margin-bottom:15px}.hero .hero-sub{font-size:clamp(16px,4.5vw,20px);font-weight:600;letter-spacing:.025em;line-height:1.65;white-space:normal}.hero-tagline{font-size:16px;letter-spacing:0;line-height:1.75;margin-top:8px}
.hero .hero-date{left:8%;right:8%;bottom:16%;gap:5px}.hero .hero-date strong{font-size:clamp(32px,8.7vw,42px);line-height:1.3;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.hero .hero-date span{font-size:14px;line-height:1.65;max-width:100%;text-wrap:balance}.hero .hero-scroll{font-size:14px;letter-spacing:.04em;bottom:2.3%;line-height:1.55}.hero-chevron{font-size:27px}
.section-head h2{font-size:31px;line-height:1.5}.section-head>span{font-size:15px}.section-intro{font-size:18px;line-height:1.9}.footnote{font-size:14px;line-height:1.85}
.weather-dates button{font-size:20px;min-height:52px}.small-text{font-size:17px}.temperature{font-size:48px}.temperature small{font-size:22px}.tip-label{font-size:16px}.clothing p{font-size:17px;line-height:1.85}.weather-source{font-size:13px}.weather-source a{font-size:14px;min-height:36px;display:flex;align-items:center}
.date-tab{min-height:127px}.date-tab small{font-size:15px}.date-tab strong{font-size:46px}.date-tab span{font-size:16px}.day-heading h3{font-size:25px}.day-heading h3 span{font-size:14px}.day-badge{font-size:14px}.timeline-time{font-size:22px;line-height:1.55}.timeline-info h4{font-size:19px;line-height:1.8}.timeline-info p{font-size:16px;line-height:1.85}.timeline-entry{padding-bottom:30px}
.meal-card h3{font-size:25px}.meal-card>p{font-size:15px}.meal-row{font-size:16px;grid-template-columns:44px minmax(0,1fr)}.meal-contact{font-size:16px;line-height:1.85}
.city-tabs button{font-size:17px;min-height:50px}.place-body h3{font-size:29px;line-height:1.5}.place-category{font-size:14px}.place-desc{font-size:18px;line-height:1.9}.place-address{font-size:16px;line-height:1.8}.photo-tag{font-size:14px;max-width:calc(100% - 30px)}.place-actions>button,.place-actions>a{font-size:16px;min-height:50px}.venue-label{font-size:15px}.venue h2{font-size:27px}.venue p{font-size:16px;line-height:1.9}.note-card p{font-size:18px;line-height:1.85}.note-card p span{font-size:16px}footer p{font-size:28px}footer small{font-size:15px}.credits{font-size:13px;overflow-wrap:anywhere}
.service-kicker{font-size:12px;letter-spacing:.11em}.hotel-heading h3,.contact-top h3{font-size:26px;line-height:1.5}.demo-badge{font-size:14px}.hotel-address{font-size:18px;line-height:1.8}.service-button{font-size:17px;min-height:52px}.service-note{font-size:14px;line-height:1.9}.travel-heading h4{font-size:18px}.travel-heading>span{font-size:13px}.travel-row{display:grid;grid-template-columns:27px minmax(0,1fr);gap:3px 10px;padding:17px 0}.travel-row strong{font-size:17px}.travel-row small{font-size:13px}.travel-time{grid-column:2;display:flex;gap:9px;align-items:baseline;text-align:left;margin:4px 0 0;white-space:normal;flex-wrap:wrap}.travel-time strong{font-size:20px}.travel-time small{font-size:13px}.contact-top p{font-size:15px}.contact-person{display:grid;grid-template-columns:28px minmax(0,1fr) 44px;gap:10px;align-items:center}.contact-person>div{min-width:0}.contact-role{font-size:14px;padding:8px 4px;align-self:start}.contact-person strong{font-size:24px}.contact-number{font-size:clamp(22px,6vw,25px);font-weight:700;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}.contact-dial{margin-left:0;font-size:13px;min-width:44px}.contact-dial svg{width:40px;height:40px}
.route-heading{align-items:flex-start}.route-heading>div{min-width:0}.route-heading h3{font-size:26px;line-height:1.55}.route-stamp{font-size:17px}.route-endpoints strong{font-size:18px;line-height:1.65}.route-endpoints small{font-size:15px;line-height:1.8}.route-endpoints b{font-size:16px;width:29px;height:29px}
.bottom-nav a{font-size:13px;min-height:55px}.bottom-nav svg{width:24px;height:24px}#dialogContent h2{font-size:33px;line-height:1.5}#dialogContent p,#dialogContent ul{font-size:18px;line-height:1.9}#dialogContent h3{font-size:20px}.dialog-kicker{font-size:12px}#dialogContent a{font-size:17px;overflow-wrap:anywhere}
@media(max-width:360px){.hero .hero-en{font-size:14px;margin-bottom:12px}.hero .hero-copy{top:5%}.hero .hero-rule{margin:10px 0}.hero .hero-sub{font-size:16px}.hero-tagline{font-size:15px}.hero .hero-date span{font-size:13px}.hero .hero-scroll{font-size:13px}.section-head h2{font-size:29px}.section-intro,.place-desc{font-size:17px}.weather-dates{gap:6px}.weather-dates button{font-size:18px}.date-tabs{gap:9px}.date-tab strong{font-size:44px}.timeline-time{font-size:21px}.day-heading h3{font-size:24px}.hotel-heading h3,.contact-top h3{font-size:24px}.contact-top{align-items:flex-start}.contact-top h3{overflow-wrap:anywhere}.contact-top p{font-size:14px}.contact-person{gap:9px;grid-template-columns:27px minmax(0,1fr) 42px}.contact-number{font-size:22px}.travel-time{margin-left:0}.place-body h3{font-size:27px}.city-tabs{gap:7px}.city-tabs button{font-size:16px}.route-heading h3{font-size:24px}.route-actions{gap:9px}.route-actions .service-button{font-size:16px}.place-actions{gap:9px}.place-actions>button,.place-actions>a{font-size:15px}.bottom-nav a{font-size:12px}}
/* Course-day selectors and confirmed hospitality details. */
.date-tabs{grid-template-columns:1fr;gap:14px}.date-tab{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:16px 18px;min-height:96px;border-radius:18px}.date-tab .course-tab-copy{display:block;min-width:0}.date-tab .course-tab-prefix{display:block;font-size:15px;line-height:1.6;color:inherit;letter-spacing:.015em}.date-tab .course-tab-title{display:block;font:700 23px/1.55 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:inherit;letter-spacing:0}.date-tab .course-tab-date{display:block;font-size:14px;line-height:1.8;text-align:center;border-left:1px solid #bb916b55;padding-left:13px;color:inherit;white-space:nowrap}.date-tab.selected .course-tab-date{border-left-color:#fff0cd66}.day-heading{display:block}.day-heading h3{font-size:27px}.day-heading h3 span{font:600 16px/1.7 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:.02em;margin-bottom:7px}.day-theme{font-size:16px;line-height:1.8;color:var(--muted);margin:10px 0 0}.meal-row{gap:9px;padding:14px 0}.meal-time{font-variant-numeric:tabular-nums}.meal-card .meal-notice{font-size:14px;line-height:1.85;color:#96672f;border-left:3px solid #c4a05f;padding:7px 0 7px 10px;margin:14px 0}.hotel-staff{padding:15px;margin:17px 0 21px;background:#f7ebd7;border:1px solid #e4caa2;border-radius:15px;box-shadow:inset 0 1px #fff8e9}.hotel-staff-label{font-size:15px;line-height:1.6;color:#9e7946;margin:0 0 8px}.hotel-staff-line{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:center}.hotel-staff-name{font:24px 'Zhongyuan Journal',STKaiti,KaiTi,serif;color:#995240}.hotel-staff .contact-number{font-size:24px;margin-top:7px}.hotel-staff .contact-dial{margin-left:0}.hotel-staff-line>div{min-width:0}
@media(max-width:360px){.date-tab{padding:14px 13px;gap:8px}.date-tab .course-tab-prefix{font-size:14px}.date-tab .course-tab-title{font-size:21px}.date-tab .course-tab-date{font-size:13px;padding-left:10px}.day-heading h3{font-size:25px}.hotel-staff{padding:14px 12px}.hotel-staff .contact-number{font-size:22px}.hotel-staff-line{gap:9px}.meal-row{font-size:16px}}

/* Consistent YaHei Bold title artwork and separated map annotations. */
.hero h1{display:flex;align-items:center;min-height:1.25em}.hero-title-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hero .hero-title-glyphs{display:block;position:static;width:4.12em;max-width:100%;height:auto;filter:drop-shadow(0 1px 0 #fffaf0)}
.route-map svg text{font-family:'Microsoft YaHei','PingFang SC',sans-serif}.map-place-name{font-size:24px;font-weight:600}.map-room-name{font-size:19px}.route-marker text{font-size:22px;font-weight:700}.map-north{font-size:18px}.route-map-caption{font-size:13px;line-height:1.65;color:#a28c6d;padding:10px 12px;margin:0;text-align:right;border-top:1px solid #e8dac6;background:#fcf5e9}
.place-notice{margin:17px 0;padding:15px 14px;border:1px dashed #cfab72;border-radius:13px;background:linear-gradient(135deg,#fff6e6,#f7e8ce)}.place-notice strong{font-size:17px;color:#a35d3d;display:block;margin-bottom:7px}.place-notice p{font-size:16px;line-height:1.85;color:#8d6e52;margin:0}.place-notice a{display:inline-block;font-size:15px;color:#a16b30;text-decoration:underline;text-underline-offset:4px;padding:9px 0 2px;min-height:40px}
.contact-top h3{font-size:clamp(24px,6.4vw,25px)}.contact-title-word{display:inline-block;white-space:nowrap}
.asset-credits{margin-top:18px;font-size:12px;line-height:1.85;color:#a18d79;overflow-wrap:anywhere}.asset-credits a{color:#a18156;text-decoration:underline;text-underline-offset:2px}.asset-credits p{font-size:inherit;margin:0}

/* Welcome heading keeps the requested wording legible on narrow phones. */
.section-head h2.welcome-title{font-size:clamp(24px,7.1vw,31px);line-height:1.5}

/* Keep the distinctive Ersha lettering visible in the landscape photo card. */
.place-photo img[src$="ersha-featured.webp"]{object-position:center bottom}

/* The complete bundled heading font keeps every welcome glyph in one face. */
.section-head h2.welcome-title{font-synthesis:none}
