:root{--ink:#24372e;--green:#38544a;--paper:#f6f5ef;--line:#dfe3d9;--muted:#69736c;--gold:#a58251}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.8}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a58251;outline-offset:4px}img{display:block;max-width:100%}[hidden]{display:none!important}.top{height:76px;background:#f6f5eff5;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 max(24px,calc((100vw - 1080px)/2));position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center;font-family:serif;font-size:22px;font-weight:600;line-height:1.3}.brand small{display:block;font:8px/2 sans-serif;letter-spacing:2px}.seal{display:inline-grid;place-items:center;width:42px;height:48px;border:1px solid var(--gold);font-family:serif;color:var(--gold);font-size:28px;border-radius:3px}.outline{border:1px solid #9ba99d;border-radius:6px;padding:7px 14px}.hero{max-width:1200px;margin:auto;height:570px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#162b27ab,transparent 90%),linear-gradient(0deg,#162b274d,transparent)}.hero-copy{position:absolute;top:17%;left:8%;max-width:80%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;color:var(--gold)}.hero .eyebrow{color:#e8e4cc}.hero h1{font-family:"Songti SC",STSong,serif;font-weight:500;font-size:64px;line-height:1.25;letter-spacing:6px;margin:20px 0}.hero p{font-size:15px;color:#f7f7ed}.hero-stamp{display:inline-block;border-top:1px solid #ffffff80;padding-top:12px;letter-spacing:3px;font-size:11px}.intro{text-align:center;padding:38px 20px 24px}.intro h2{font-family:serif;font-size:26px;font-weight:500;margin:10px 0 0}.intro p{margin:3px 0 15px;color:var(--muted);font-size:13px}.address{font-size:12px;display:flex;gap:16px;justify-content:center;align-items:center}.address button{color:var(--green);text-decoration:underline;font-size:12px}.quick{display:grid;grid-template-columns:repeat(6,1fr);max-width:1030px;margin:0 auto 20px;padding:24px 0;border-block:1px solid var(--line)}.quick a{text-align:center;font-size:13px}.quick b{display:block;font-size:26px;font-weight:400;line-height:1.4;color:var(--green)}.section{max-width:1030px;margin:auto;padding:48px 0 10px;scroll-margin-top:20px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:22px}.section h2{font-family:"Songti SC",STSong,serif;font-size:29px;font-weight:500;margin:7px 0 0;letter-spacing:1px}.muted{color:var(--muted);font-size:12px}.section-desc{color:var(--muted);font-size:14px;margin:-6px 0 22px}.arrival-alert{display:flex;gap:15px;background:#eee9db;border:1px solid #ddd3bd;padding:20px 24px;margin-bottom:22px;border-radius:9px}.arrival-alert>span{display:grid;place-items:center;background:#8c703e;color:white;border-radius:50%;width:24px;height:24px;flex:none;margin-top:3px}.arrival-alert p{font-size:13px;margin:5px 0 0;color:#6e634d}.tabs{display:flex;gap:5px;background:#e7ebe3;border-radius:8px;padding:5px;margin:22px 0}.tabs button{flex:1;padding:11px 8px;border-radius:5px;font-size:14px}.tabs button[aria-selected=true]{background:var(--green);color:white;box-shadow:0 2px 5px #223c2420}.arrival-grid{background:white;border:1px solid var(--line);border-radius:10px;padding:28px;display:grid;grid-template-columns:1fr 200px;gap:30px;align-items:center}.pill{font-size:11px;letter-spacing:1px;color:var(--gold)}h3{font-size:20px;line-height:1.5;margin:8px 0 12px;font-weight:600}.arrival-grid p{font-size:14px;color:var(--muted);max-width:580px}.button{display:inline-block;border-radius:6px;padding:10px 16px;line-height:1.7;font-size:13px;margin:8px 6px 0 0;text-align:center}.primary,.dark{background:var(--green);color:white;border:1px solid var(--green)}.guide-preview{padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper)}.guide-preview img{height:170px;width:100%;object-fit:cover;object-position:top}.guide-preview span{display:block;font-size:10px;padding:8px}.policy-grid,.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.policy-grid article{border:1px solid var(--line);padding:22px;border-radius:8px}.policy-grid b{font-family:Georgia,serif;font-size:32px;font-weight:400;color:var(--green)}.policy-grid b span{font:13px sans-serif}.policy-grid h4{font-size:14px;margin:4px 0}.policy-grid p,.note{font-size:12px;color:var(--muted);margin:6px 0}.help-row{background:#e7ebe3;border-radius:8px;display:flex;align-items:center;gap:16px;padding:20px 24px;margin-top:18px}.help-row>div{flex:1}.help-row strong{font-size:14px}.help-row p{font-size:12px;color:var(--muted);margin:3px 0}.text-link{font-size:12px;text-decoration:underline}.stay-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stay-photos img{width:100%;height:245px;object-fit:cover;border-radius:8px}.stay-grid article{padding:20px 0;border-bottom:1px solid var(--line)}.small-label{color:var(--gold);font-size:12px}.stay-grid h3{font-size:18px;margin-bottom:6px}.stay-grid p{font-size:13px;color:var(--muted);margin:0}.trip-day{margin:26px 0 38px}.day-top{display:flex;gap:20px;align-items:center;margin-bottom:16px}.day-num{font-family:Georgia,serif;font-size:46px;line-height:1;color:#a8b3a4}.day-top h3{margin:0;font-size:20px}.day-top p{font-size:12px;color:var(--muted);margin:4px 0}.route-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#e8ebe3;padding:14px 18px;border-radius:7px;font-size:12px;margin-bottom:16px}.route-strip a{text-decoration:underline;text-underline-offset:4px}.route-strip span{color:#8c987f}.trip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trip-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.trip-card img{width:100%;height:auto;min-height:0;aspect-ratio:5/4;object-fit:cover;object-position:var(--card-focus,50% 50%)}.card-body{padding:18px}.card-body .small-label{font-size:10px}.card-body h3{font-size:17px;margin:5px 0 9px}.card-body p{font-size:13px;color:var(--muted);margin:0 0 12px}.card-body a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.trip-tip{font-size:12px;color:var(--muted);border-left:2px solid var(--gold);padding-left:14px;margin-top:18px}.travel-note,.curated-details{border:1px solid var(--line);border-radius:7px;padding:16px 20px;margin-top:20px;font-size:13px}.travel-note p,.curated-details p{color:var(--muted)}summary{cursor:pointer;min-height:30px}.travel-note a{text-decoration:underline}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.food-card{border-bottom:1px solid var(--line);padding-bottom:20px}.food-card img{width:100%;height:190px;object-fit:cover;border-radius:7px}.food-card h3{font-size:17px;margin:14px 0 4px}.food-card p{font-size:13px;color:var(--muted);margin:0 0 10px}.food-card a{font-size:12px;text-decoration:underline}.filter{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.filter button{border:1px solid var(--line);border-radius:24px;padding:7px 18px;background:white;font-size:13px}.filter button.active{background:var(--green);border-color:var(--green);color:white}.attraction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}#curated-links{display:flex;flex-wrap:wrap;gap:10px}#curated-links a{font-size:12px;text-decoration:underline;padding:7px}.place-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.place-row strong{font-size:14px;overflow-wrap:anywhere}.place-row p{font-size:12px;color:var(--muted);margin:3px 0}.place-row a{font-size:12px;white-space:nowrap;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:white}.query-note{font-size:12px;color:var(--muted)}footer{margin-top:64px;padding:50px 20px 110px;text-align:center;background:#e7ebe3}footer h2{font-family:serif;font-size:23px;font-weight:400}footer p{color:var(--muted);font-size:13px}.footer-links{display:flex;justify-content:center;gap:30px;font-size:13px}.footer-links button{text-decoration:underline}.fine{font-size:10px;margin-top:28px}.bottom{position:fixed;bottom:0;left:0;right:0;background:#fcfcf6f5;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:40px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));z-index:12;backdrop-filter:blur(12px);font-size:13px}.bottom button{background:var(--green);color:white;border-radius:6px;padding:9px 22px}dialog{color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:30px;max-width:calc(100% - 28px);width:430px;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#11261fc0;backdrop-filter:blur(3px)}dialog .close{font-size:26px;line-height:1;padding:8px}.close{position:absolute;right:12px;top:12px}dialog h2{font-size:23px;margin:12px 0}dialog p{font-size:13px;color:var(--muted)}.phone{display:block;border-block-start:1px solid var(--line);padding:18px 0;font-size:13px}.phone strong{display:block;font-size:21px}#guide-dialog{width:min(1000px,calc(100vw - 24px));height:92dvh;max-height:92dvh;padding:0;overflow:hidden}.viewer-toolbar{display:flex;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);font-size:12px;height:65px;position:relative}.viewer-toolbar strong{flex:1}.viewer-toolbar .close{position:static;padding:5px}.viewer-toolbar a{text-decoration:underline}.viewer-scroll{height:calc(100% - 65px);overflow:auto;overscroll-behavior:contain;background:#dfe7e4}#guide-image{width:min(100%,620px);max-width:none;height:auto;margin:auto}#guide-image.zoom{width:1000px}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);padding:10px 24px;border-radius:8px;background:#203e32;color:white;opacity:0;pointer-events:none;z-index:100;font-size:13px}#toast.show{opacity:1}@media(max-width:1100px){.section,.quick{margin-left:28px;margin-right:28px}}@media(max-width:600px){body{font-size:14px}.top{height:66px;padding:0 18px}.brand{font-size:19px}.brand .seal{width:34px;height:40px;font-size:24px}.brand small{font-size:7px}.top .outline{font-size:11px;padding:6px 10px}.hero{height:440px}.hero>img{object-position:59% center}.hero-copy{left:7%;top:15%}.hero h1{font-size:46px;margin-top:20px}.hero p{font-size:13px}.hero .eyebrow{font-size:8px}.intro{padding:28px 20px 20px}.intro h2{font-size:21px}.address{flex-wrap:wrap;gap:2px 12px;font-size:11px}.quick{grid-template-columns:repeat(3,1fr);gap:20px 0;padding:20px 0;margin:0 20px}.quick a{font-size:12px}.quick b{font-size:25px}.section{margin:0 20px;padding-top:34px}.section h2{font-size:25px}.section-head{margin-bottom:18px}.section-head>.muted{display:none}.arrival-alert{padding:16px;gap:12px}.arrival-alert strong{font-size:14px}.arrival-alert p{font-size:12px}.arrival-grid{grid-template-columns:1fr;padding:21px;gap:16px}.arrival-grid h3{font-size:19px}.arrival-grid p{font-size:13px}.guide-preview{display:flex;width:100%;align-items:center}.guide-preview img{width:62px;height:90px}.guide-preview span{padding:14px;font-size:12px}.button{font-size:12px;padding:9px 11px}.policy-grid{gap:12px}.policy-grid article{padding:15px}.policy-grid b{font-size:27px}.policy-grid h4{font-size:12px}.policy-grid p{font-size:11px}.help-row{padding:18px;flex-wrap:wrap;gap:10px}.help-row>div{flex-basis:100%}.help-row .button{margin:0}.stay-photos{gap:10px}.stay-photos img{height:158px}.stay-grid{gap:8px 18px}.stay-grid article{padding:14px 0}.stay-grid h3{font-size:16px}.stay-grid p{font-size:12px}.tabs button{font-size:12px}.trip-grid{grid-template-columns:1fr;gap:12px}.trip-card{display:block}.card-body{padding:15px}.card-body h3{font-size:16px}.card-body p{font-size:12px}.day-num{font-size:40px}.day-top{gap:14px}.day-top h3{font-size:18px}.route-strip{padding:13px;font-size:11px;gap:6px}.food-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.food-card img{height:148px}.food-card h3{font-size:15px}.food-card p{font-size:12px}.attraction-grid{grid-template-columns:1fr;gap:12px}.filter{gap:8px}.filter button{font-size:12px;padding:6px 13px}.place-row strong{font-size:13px}.place-row a{font-size:11px;padding:7px}.bottom{gap:22px;font-size:12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.bottom button{padding:9px 12px}.viewer-toolbar{gap:10px;padding:10px;font-size:10px}.viewer-toolbar strong{font-size:12px}dialog{padding:25px}footer{margin-top:44px}footer h2{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.first-alert{display:flex;justify-content:center;align-items:center;gap:24px;background:#eae4d5;color:#655637;padding:10px 18px;font-size:12px;line-height:1.6}.first-alert b{font-weight:500;text-decoration:underline;white-space:nowrap}@media(max-width:600px){.first-alert{gap:12px;font-size:10px;padding:10px 12px}.hero{height:410px}}

.wechat-contact{border-top:1px solid var(--line);padding:18px 0;font-size:13px}.wechat-contact strong{display:block;font-size:18px;overflow-wrap:anywhere;user-select:text}.wechat-contact .button{margin-top:12px}.contact-copy-actions{display:flex;flex-wrap:wrap;gap:8px}.contact-copy-actions .button{margin:0}.copy-status{min-height:1.8em;margin:12px 0 0;color:var(--green)}#contact-dialog{max-height:calc(100dvh - 28px);overflow-y:auto}


.video-pill{border-radius:999px;white-space:nowrap}.video-pill span{font-size:10px;margin-right:4px}#video-dialog{width:min(900px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:20px}.video-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.video-toolbar h2{font-size:20px;margin:0}.video-toolbar .close{position:static}#drive-video{display:block;width:100%;max-height:65dvh;aspect-ratio:16/9;background:#10221b;border-radius:6px}#video-status{margin:10px 0;font-size:12px}@media(max-width:600px){#video-dialog{padding:16px}.video-toolbar h2{font-size:18px}}

.stay-wifi{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.stay-wifi h4{font-size:14px;margin:0 0 10px;font-weight:600}.stay-wifi dl{margin:0}.stay-wifi dl>div{display:flex;gap:12px;margin:5px 0;align-items:baseline;flex-wrap:wrap}.stay-wifi dt{font-size:12px;color:var(--muted);min-width:70px}.stay-wifi dd{margin:0;font-size:13px}.stay-wifi code{font:600 16px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;user-select:text}.stay-wifi small{font-size:11px;color:var(--muted);white-space:nowrap}.stay-wifi .button{margin-top:10px}@media(max-width:600px){.stay-wifi dl>div{gap:2px 8px}.stay-wifi dt{min-width:0;flex-basis:100%}.stay-wifi dd{display:flex;flex-wrap:wrap;align-items:baseline}.stay-wifi .button{font-size:11px;padding:8px}}

.transport-info{margin-top:24px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:24px}.transport-heading h3{margin:4px 0 16px;font-size:20px}.transport-row{padding:16px 0;border-top:1px solid var(--line)}.transport-row h4{font-size:15px;margin:0 0 7px}.transport-route{display:flex;align-items:center;gap:20px;justify-content:space-between}.transport-time{font-size:13px;color:var(--muted);margin:0;white-space:nowrap}.transport-time strong{font-size:23px;font-weight:500;color:var(--green);font-variant-numeric:tabular-nums}.transport-actions{display:flex;gap:8px;flex-wrap:wrap}.transport-actions a{display:inline-block;font-size:12px;line-height:1.6;border:1px solid #a7b2a4;border-radius:999px;padding:7px 12px;white-space:nowrap}.transport-actions a:hover{background:#e7ebe3}.transport-info>.note{margin-top:12px;line-height:1.9}@media(max-width:600px){.transport-info{padding:18px}.transport-route{flex-wrap:wrap;justify-content:flex-start;gap:9px 8px}.transport-actions{gap:6px}.transport-actions a{padding:6px 8px;font-size:11px}.transport-time strong{font-size:21px}}

#map-dialog{max-height:calc(100dvh - 28px);overflow-y:auto}#map-place-name{font-size:15px;color:var(--ink);margin:14px 0 20px;overflow-wrap:anywhere}.map-options{display:grid;gap:12px}.map-options a{display:block;border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:#f5f6f1}.map-options a:hover{border-color:var(--green);background:#e7ebe3}.map-options strong{display:flex;justify-content:space-between;font-size:17px;font-weight:600}.map-options small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.map-hint{line-height:1.8}#map-arrival-note{padding-top:12px;border-top:1px solid var(--line)}


.trip-card.text-card{display:block;background:#edf0e7}.text-card .card-body{padding:24px}.text-card h3{font-family:"Songti SC",STSong,serif;font-size:23px}.route-source-note{font-size:12px;color:var(--muted);margin:18px 0}.route-reference{font-size:12px;background:#eeefe8;border-radius:7px;padding:14px 18px;margin-top:18px}.route-reference ul{padding-left:18px;margin:10px 0}.route-reference li{margin:8px 0}.route-reference p{color:var(--muted)}.route-food{border:1px solid var(--line);border-radius:8px;padding:20px;background:#f0ebdd}.route-food h3{font-size:17px;margin:0 0 8px}.route-food p{font-size:13px;color:var(--muted);margin:0}











.hotel-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}footer .hotel-logo{width:64px;height:64px;margin:0 auto 16px}@media(max-width:600px){.top .hotel-logo{width:42px;height:42px}}



.stay-photos .breakfast-photo{object-position:50% 70%}


/* Shared 5:4 attraction image frame, matching the supplied East Lake reference. */
.trip-card[data-place="cangqiao"]{--card-focus:50% 50%}
.trip-card[data-place="luxun"]{--card-focus:50% 50%}
.trip-card[data-place="shenyuan"]{--card-focus:50% 60%}
.trip-card[data-place="yangming"]{--card-focus:35% 50%}
.trip-card[data-place="shusheng"]{--card-focus:50% 50%}
.trip-card[data-place="xuwei"]{--card-focus:50% 100%}
.trip-card[data-place="eastlake"]{--card-focus:50% 28%}
.trip-card[data-place="lanting"]{--card-focus:50% 58%}
.trip-card[data-place="keyan"]{--card-focus:50% 60%}
.trip-card[data-place="anchang"]{--card-focus:50% 45%}
.trip-card[data-place="keqiao"]{--card-focus:50% 55%}
.trip-card[data-place="cruise"]{--card-focus:50% 0%}
.trip-card[data-place="oldbookshop"]{--card-focus:40% 20%}
.trip-card[data-place="bazi"]{--card-focus:50% 48%}
.trip-card[data-place="luxunmuseum"]{--card-focus:100% 50%}
.trip-card[data-place="sanwei"]{--card-focus:50% 43%}

.stay-photos .stay-lounge-photo{object-position:50% 58%}

.food-card[data-food="kong"] img{object-position:50% 35%}

.food-card[data-food="xiaoshaoxing"] img{object-position:50% 20%}

.food-card[data-food="wang"] img{object-position:50% 35%}

.food-card[data-food="lanting-food"] img{object-position:70% 50%}

.food-card[data-food="aqiu"] img{object-position:70% 30%}
