/* Homepage: warm architectural palette with a light teal survey panel. */
body[data-page="home"]{--home-width:1680px;--home-gutter:40px;--accent:#205e51;--soft:#eef4f0;background:#fff}
body[data-page="home"] .site-header{min-height:96px}
body[data-page="home"] .wordmark{font-size:15px;letter-spacing:.08em}
body[data-page="home"] .site-main{padding-top:24px}
body[data-page="home"] .breadcrumbs{margin-bottom:24px;opacity:.65}
body[data-page="home"] .page-heading{max-width:none;margin-bottom:28px}
body[data-page="home"] .page-heading>.eyebrow{font-size:13px;letter-spacing:.06em;color:var(--accent);margin-bottom:20px}
body[data-page="home"] .page-heading h1{margin:0 0 22px;font-size:clamp(44px,4.6vw,76px);line-height:1.12;letter-spacing:-.045em;color:var(--ink)}
body[data-page="home"] .lead{font-size:16px;max-width:650px;line-height:1.8}
.home-search-rail{padding-top:67px}
.home-search{padding:20px 16px;background:var(--soft);border-top:3px solid var(--accent)}
.home-search>label{font-size:14px}
.home-search .search-box button{background:var(--accent);border-radius:2px}
.home-search .search-box input{background:#fff;border-color:#c6d1cc}
.home-guide{margin-top:30px;font-size:13px}
.home-guide p{color:var(--muted);font-size:12px;margin-bottom:12px}
.home-guide a{display:flex;justify-content:space-between;gap:6px;padding:14px 0;border-bottom:1px solid var(--line)}
.home-guide a:hover{color:var(--accent)}
.home-postcard{margin-top:32px}.home-postcard img{width:100%;height:145px;object-fit:cover}.home-postcard figcaption{font-size:12px;line-height:1.7;margin-top:12px;color:var(--muted)}
.home-topics{display:flex;flex-wrap:wrap;gap:22px;margin-top:23px;font-size:13px;color:var(--accent)}
.home-topics a{border-bottom:1px solid currentColor;padding-bottom:5px}
.home-frame>.visitor-survey{margin-top:67px;border:0;padding:26px 20px;background:var(--soft);border-top:3px solid var(--accent)}
.home-frame>.visitor-survey h2{font-size:26px;line-height:1.55}
.home-frame>.visitor-survey .eyebrow{color:var(--accent);letter-spacing:0;font-size:11px}
.home-frame>.visitor-survey .primary-button{background:var(--accent);border-color:var(--accent);font-size:12px}
.site-main .bund-strip{margin-top:30px}
.compare-label{box-shadow:none}.compare-caption{font-size:12px}.compare-photo-actions button{font-size:12px}
.route-grid{gap:34px 24px}.route-grid .route-preview{aspect-ratio:1.8;transition:filter .2s}.route-card:hover .route-preview{filter:brightness(1.04)}
.route-summary{padding:20px 0 4px}.route-grid .route-card{border-bottom:0}.route-summary h2{font-size:27px}
.editorial-group>h2{font-size:34px!important}.place-card h3{font-size:26px}
@media(max-width:1399px){.home-frame>.visitor-survey{margin-top:0}.home-search{padding:18px 12px}}
@media(max-width:760px){
 body[data-page="home"]{--home-gutter:18px}.home-search-rail{padding-top:18px}.home-search{padding:12px 14px;border-top-width:2px}.home-search>label{font-size:12px}
 .home-guide,.home-postcard{display:none}.page-heading h1{font-size:44px!important}.home-topics{gap:18px;font-size:12px;margin-top:18px}.home-frame>.visitor-survey{margin-top:0}
 body[data-page="home"] .breadcrumbs{margin-bottom:20px}body[data-page="home"] .page-heading>.eyebrow{margin-bottom:14px}.home-topics{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Patinated brass and bottle green, drawn from Bund stonework and old hotel doors. */
body[data-page="home"]{--ink:#254c40;--accent:#32684f;--soft:#f4f1e8;--line:#d9dece}
body[data-page="home"] .site-header{border-bottom:2px solid #315943}
.wordmark:before{content:'沪';display:inline-grid;place-items:center;width:30px;height:30px;background:#315943;color:white;font-family:'Songti SC',serif;margin-right:12px;letter-spacing:0}
body[data-page="home"] .wordmark{font-size:13px}
body[data-page="home"] .page-heading h1{font-family:Georgia,'Songti SC',serif;font-size:72px;letter-spacing:-.025em}
.page-heading h1 span{display:inline-block;margin-left:24px;font-family:'Songti SC',serif;font-size:35px;letter-spacing:.03em}
body[data-page="home"] .page-heading>.eyebrow{color:#927036}
/* Selected treatment: the lighter questionnaire panel from option C. */
.home-frame>.visitor-survey{background:#edf5f4;border-top:4px solid #397676;color:#254c40}
.home-frame>.visitor-survey h2{color:#254c40}.home-frame>.visitor-survey .eyebrow{color:#397676}.home-frame>.visitor-survey p:not(.eyebrow){color:#52665f}
.home-frame>.visitor-survey .primary-button{background:#397676;color:#fff;border-color:#397676}
.bund-strip{padding:12px;background:#f4f1e8}.bund-strip .compare-caption{padding:10px 4px 0}.home-postcard{padding:8px;border:1px solid #ded8c6}.home-postcard figcaption{padding:0 2px}
.route-summary{border-top:3px solid #779279}.topic-links a{background:#f4f1e8;border-color:transparent}
.bund-preview span{font-family:'Songti SC',serif;font-size:22px;border-bottom:1px solid #c8d4c9}
@media(max-width:1100px){.page-heading h1 span{display:block;margin:12px 0 0;font-size:30px}}
@media(max-width:760px){.bund-strip{padding:7px}.page-heading h1 span{font-size:27px}}

body[data-page="home"] .page-heading h1 span{max-width:100%;overflow-wrap:break-word}

/* Give search a stable, wider rail without overlapping or moving the main content. */
@media(min-width:761px){
 body[data-page="home"] .home-frame{grid-template-columns:280px minmax(0,1fr) 220px}
 body[data-page="home"] .home-search{width:100%}
 body[data-page="home"] .home-search .search-box{flex-wrap:wrap;gap:8px}
 body[data-page="home"] .home-search .search-box input{flex:1 1 100%;width:100%;font-size:16px}
 body[data-page="home"] .home-search .search-box button{padding:9px 12px}
}
@media(min-width:761px) and (max-width:1399px){body[data-page="home"] .home-frame{grid-template-columns:280px minmax(0,1fr)}}
body[data-page="home"] .home-search .search-box{align-items:stretch}
body[data-page="home"] .home-search>label{font-size:17px;font-weight:500;line-height:1.5;margin-bottom:12px}
.home-search-hint{font-size:12px;line-height:1.6;margin:12px 0 9px;color:#5f6e63}
.search-examples{display:flex;flex-wrap:wrap;gap:7px 12px}
.search-examples a{font-size:12px;line-height:1.6;text-decoration:none;border-bottom:1px solid #bec9ba}
.search-examples a:hover{border-color:var(--ink)}
.search-examples span{font-size:10px}
@media(min-width:1400px){
 body[data-page="home"] .site-header{grid-template-columns:280px minmax(0,1fr) 220px}
 body[data-page="home"] .site-footer{padding-left:316px}
}
@media(min-width:1000px) and (max-width:1399px){body[data-page="home"] .site-header{grid-template-columns:280px minmax(0,1fr) auto}}
@media(min-width:761px) and (max-width:1399px){body[data-page="home"] .site-footer{padding-left:308px}}
