/* Larger mobile type, handwritten headings and a warmer travel-journal rhythm. */
:root{--ink:#56372f;--muted:#866b5d;--red:#b65e4e;--red-deep:#8d4037;--gold:#a47832}
body{font-size:16px;line-height:1.75;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}
.content{padding:0 20px}.block{margin:43px 0;scroll-margin-top:22px}.section-head{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:21px;padding-left:14px}.section-head::before{width:4px}.section-head h2{font-family:'Zhongyuan Journal',STKaiti,KaiTi,serif;font-size:27px;font-weight:600;line-height:1.45;letter-spacing:.03em;color:var(--red-deep)}.section-head h2::after{content:' ✧';font-size:20px;color:#bc914d}.section-head>span{font-size:13px;color:#9a795a;white-space:normal}.section-intro{font-size:15px;line-height:1.9;color:#8b7062}.footnote{font-size:12px;line-height:1.85;color:#9a806e}
.hero h1{font-family:'Zhongyuan Journal',STKaiti,KaiTi,serif;font-weight:600}.hero .hero-en{font-size:13px}.hero .hero-sub{font-size:clamp(13px,3.5vw,18px);font-weight:500}.hero-tagline{font-family:'Zhongyuan Journal',STKaiti,KaiTi,serif;font-size:14px}.hero .hero-date strong{font-size:clamp(29px,7.4vw,37px)}.hero .hero-date span{font-size:11px}.hero .hero-scroll{font-size:12px}.hero-chevron{font-size:26px}.hero{margin-bottom:34px}
.weather-dates{gap:8px}.weather-dates button{font:650 18px/1.4 -apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif;padding:10px 2px;min-height:48px;border-radius:13px}.weather-card{padding:24px 21px 18px;border-radius:23px 23px 23px 7px}.small-text{font-size:15px}.temperature{font-size:43px}.temperature small{font-size:20px}.clothing{display:block;padding:14px;border-radius:13px}.tip-label{font-size:14px}.clothing p{font-size:15px;margin-top:5px}.weather-source{font-size:11px;align-items:center;flex-wrap:wrap}.weather-source a{font-size:12px;padding:5px 8px}
.date-tabs{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:23px}.date-tab{padding:12px 5px;min-height:114px;border-radius:17px 17px 17px 6px}.date-tab small{font-size:13px}.date-tab strong{font:700 41px/1.35 -apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif}.date-tab span{font-size:14px}.schedule-card{padding:24px 19px;border-radius:23px}.day-heading{margin-bottom:25px;align-items:center}.day-heading h3{font-size:21px;line-height:1.5;font-family:'Zhongyuan Journal',STKaiti,KaiTi,serif}.day-heading h3 span{display:block;font:700 12px/1.6 sans-serif;letter-spacing:.15em;margin-bottom:5px}.day-badge{font-size:12px;padding:4px 9px;border-radius:8px}.timeline-entry{display:block;padding:0 0 26px 21px;min-width:0}.timeline-entry::before{left:3px;top:14px;bottom:-9px;border-left:1px dashed #d9bea0}.timeline-entry::after{left:0;top:10px;width:7px;height:7px}.timeline-time{display:inline-flex;font:700 19px/1.5 -apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif;font-variant-numeric:tabular-nums;color:#9d6630;padding:3px 11px;background:#f6e9d2;border:1px solid #e8d0a8;border-radius:9px;letter-spacing:.01em;box-shadow:inset 0 1px #fff}.timeline-info{padding:8px 0 0}.timeline-info h4{font-size:17px;font-weight:600;line-height:1.75}.timeline-info p{font-size:14px;line-height:1.85;margin-top:6px;color:#957568}
.meal-card{margin:23px -3px 0;padding:18px 15px;border-radius:16px;background:#faeee0;border:1px dashed #d9b98a}.meal-card h3{font-family:'Zhongyuan Journal',STKaiti,KaiTi,serif;font-size:22px;margin:0 0 8px;color:#a35e3f}.meal-card>p{font-size:13px;color:#9b7c64;margin:9px 0}.meal-row{display:grid;grid-template-columns:44px 1fr;gap:7px;padding:11px 0;border-top:1px solid #ebd7bd;font-size:14px}.meal-row>strong{color:#a46c39}.meal-row span{display:block;color:#8f735f}.meal-contact{display:block;font-size:13px;color:#a45443;text-decoration:underline;text-underline-offset:3px;margin-top:13px}
.teacher-filters{display:flex;gap:7px;margin:18px 0 21px}.teacher-filters button{flex:1;padding:9px 2px;font-size:13px;min-height:44px;border:1px solid #dfc6a6;border-radius:12px;background:linear-gradient(#fffdf6,#f5e6d2);color:#956f4b;box-shadow:0 3px #d7b99a,inset 0 1px #fff;transition:transform .15s,box-shadow .15s}.teacher-filters button.selected{background:linear-gradient(#d2937f,#af5a4b);border-color:#aa6250;color:#fff2d5;box-shadow:0 3px #874033,inset 0 1px #e7b6a3}.teacher-filters button:active{transform:translateY(2px);box-shadow:0 1px #bd9b79}.teacher-list{gap:13px}.teacher-card{border-radius:18px;gap:12px;padding:17px 13px;align-items:flex-start;position:relative;padding-right:20px}.teacher-avatar{width:44px;height:44px;font:24px 'Zhongyuan Journal',serif}.teacher-card h3{font-size:18px;margin-bottom:7px;font-family:'Zhongyuan Journal',STKaiti,KaiTi,serif}.teacher-card small{font-size:13px;line-height:1.7;display:block}.teacher-card .more{font-size:12px;padding:2px 7px;position:absolute;right:12px;top:15px}.teacher-card>span:nth-child(2){padding-top:31px;flex:1;margin-left:-56px;padding-left:56px}.teacher-card h3{position:absolute;top:18px;left:69px}.teacher-card .more{top:auto;bottom:13px}.teacher-card{padding-bottom:42px}
.city-tabs{gap:9px;margin:20px 0 25px}.city-tabs button{font-size:15px;padding:10px 4px;border-radius:15px}.place-list{gap:26px}.place-card{border-radius:23px 23px 23px 7px;position:relative}.place-photo{height:220px}.place-photo img{transition:transform .45s}.photo-tag{font-size:12px;padding:4px 11px;bottom:15px;left:15px}.place-body{padding:21px 18px}.place-body h3{font:600 25px/1.5 'Zhongyuan Journal',STKaiti,KaiTi,serif;color:#934c3b;margin-bottom:5px}.place-category{font-size:12px;letter-spacing:.04em}.place-desc{font-size:15px;line-height:1.9;margin:12px 0}.place-address{font-size:13px;padding:9px 11px;border-radius:10px}.place-actions{gap:12px;margin-top:17px}.place-actions>button,.place-actions>a{font-size:14px;min-height:46px;border-radius:12px;padding:9px}.venue{padding:24px 21px;border-radius:23px 7px 23px 23px}.venue-label{font-size:13px}.venue h2{font:600 23px/1.65 'Zhongyuan Journal',STKaiti,KaiTi,serif}.venue p{font-size:13px;max-width:95%;line-height:1.9}.note-card{border-radius:19px;padding:15px 18px}.note-card p{font-size:15px;margin:12px 0}.note-card p span{font-size:14px}footer p{font:24px 'Zhongyuan Journal',STKaiti,KaiTi,serif;letter-spacing:.05em}footer small{font-size:12px}.credits{font-size:11px;text-align:left;margin-top:22px}.credits summary{text-align:center}
.hotel-card,.contact-card{border-radius:23px;padding:23px 19px}.service-kicker{font-size:10px;letter-spacing:.14em}.hotel-heading h3,.contact-top h3{font:600 23px/1.5 'Zhongyuan Journal',STKaiti,KaiTi,serif}.hotel-heading{flex-wrap:wrap}.demo-badge{font-size:12px;padding:5px 9px}.hotel-address{font-size:15px;line-height:1.8;margin:15px 0}.service-button{font-size:15px;min-height:48px;border-radius:12px}.service-note{font-size:12px;line-height:1.9}.travel-heading h4{font-size:16px}.travel-heading>span{font-size:11px}.travel-list{padding:0 12px;border-radius:15px}.travel-row{gap:8px;padding:16px 0;flex-wrap:wrap}.travel-row strong{font-size:14px}.travel-row small,.travel-time small{font-size:11px}.travel-time strong{font-size:16px;letter-spacing:0;font-family:inherit}.travel-symbol{font-size:22px}.contact-top p{font-size:13px}.contact-list{margin-top:19px}.contact-person{display:flex;align-items:center;gap:12px;padding:18px 0;border-top:1px solid #ead5b9}.contact-role{writing-mode:vertical-rl;font-size:12px;letter-spacing:.15em;color:#ad8051;background:#f8ecd7;border:1px solid #ead5b9;padding:8px 5px;border-radius:9px}.contact-person strong{display:block;font:20px 'Zhongyuan Journal',serif;color:#995240}.contact-number{display:block;font:600 21px/1.5 -apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif;letter-spacing:.01em;margin:5px 0 0;color:#805b43}.contact-dial{margin-left:auto;display:flex;align-items:center;flex-direction:column;gap:4px;font-size:11px;color:#965c3a;min-width:43px}.contact-dial svg{width:36px;height:36px;fill:none;stroke:#a07032;stroke-width:1.7;border-radius:50%;padding:8px;border:1px solid #d3ac74;background:linear-gradient(#fff4d9,#e8cb98);box-shadow:0 3px #b98d53,inset 0 1px #fff}
.route-card{padding:22px 18px;background:linear-gradient(140deg,#fffdf9,#fff4e4);border:1px solid #e0c6a6;border-radius:23px;margin:23px 0 0;box-shadow:var(--card-shadow)}.route-heading{display:flex;gap:13px;align-items:center}.route-heading h3{font:600 22px/1.5 'Zhongyuan Journal',STKaiti,KaiTi,serif;margin:0}.route-stamp{font-size:15px;font-weight:700;background:#f1d6b0;color:#9c6233;border:1px dashed #bd8f51;border-radius:12px;padding:12px 8px;white-space:nowrap;transform:rotate(-4deg)}.route-map{overflow:hidden;border:1px solid #e8d3b6;border-radius:17px;margin-top:20px;background:#f9f0e0}.route-map svg{display:block;width:100%;height:auto}.route-endpoints{margin:19px 0}.route-endpoints p{display:flex;gap:11px;margin:15px 0}.route-endpoints b{width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;background:#b8604d;color:#fff3db;border-radius:50%;font-size:14px}.route-endpoints p+p b{background:#a58042}.route-endpoints strong{font-size:15px;font-weight:600;display:block}.route-endpoints small{font-size:12px;display:block;color:#9b7d65;line-height:1.8;margin-top:4px}.route-actions{display:flex;gap:12px}.route-drive{background:linear-gradient(#f7e7be,#e2c185);color:#795322;border-color:#cba564;box-shadow:0 3px #b38a4a,inset 0 1px #fff4d6}
.bottom-nav{padding-left:6px;padding-right:6px;gap:1px}.bottom-nav a{font-size:11px;min-height:50px;gap:4px}.bottom-nav svg{width:22px;height:22px}#dialogContent h2{font:30px 'Zhongyuan Journal',serif}#dialogContent p,#dialogContent ul{font-size:16px;line-height:1.9}#dialogContent h3{font-size:17px}dialog{padding:31px 24px;width:440px;max-height:82svh;border-radius:23px}#detailDialog>.dialog-close{z-index:1}
@media(max-width:360px){.content{padding:0 15px}.section-head h2{font-size:25px}.date-tab strong{font-size:37px}.weather-dates button{font-size:16px}.timeline-time{font-size:18px}.timeline-info h4{font-size:16px}.hotel-card,.contact-card{padding:21px 15px}.contact-person{gap:9px}.contact-number{font-size:19px}.contact-top h3{font-size:21px}.place-photo{height:200px}.teacher-filters button{font-size:12px}.travel-time{margin-left:32px;text-align:left}.teacher-card small{font-size:12px}}
@media(hover:hover) and (pointer:fine){.place-card:hover .place-photo img{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.place-photo img,.teacher-filters button{transition:none}}
.hero .hero-date{color:#8d4037;text-shadow:0 1px #fff9ee,0 0 10px #fff5e4}.hero .hero-date span{font-weight:600;color:#8d4037}.hero .hero-scroll{color:#fff6df;text-shadow:0 1px 5px #713824}
