.location-section{background:#eeeae2;scroll-margin-top:90px;}
.location-section .section-head{align-items:end;}
.location-highlights{display:flex;flex-wrap:wrap;gap:12px 26px;margin:30px 0 14px;color:var(--ui-muted);font-size:var(--ui-caption);font-weight:600;}
.location-address{color:var(--ui-ink);line-height:1.8;margin:0 0 24px;}
.map-frame{max-width:960px;margin:0 auto;border:1px solid #d8d0c1;border-radius:18px;overflow:hidden;background:#eeeae2;box-shadow:0 16px 42px #493d2710;}
.map-frame iframe{width:100%;height:430px;border:0;display:block;}
.map-caption{max-width:960px;margin-left:auto;margin-right:auto;font-size:var(--ui-caption);color:var(--ui-muted);margin-top:12px;margin-bottom:0;line-height:1.7;}
.location-map-link{display:block;color:inherit;}
.location-map{display:block;width:100%;height:auto;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;}
.location-map-link:focus-visible{outline:3px solid #a38958;outline-offset:-4px;}
.map-eyebrow{font-size:12px;letter-spacing:2.4px;fill:#8a7956;font-weight:600;}
.map-project{font-size:34px;letter-spacing:3px;fill:#293e43;font-weight:600;}
.map-building{font-size:21px;fill:#34484b;font-weight:500;}
.map-address{font-size:15px;fill:#6a6c64;}
.map-road{font-size:18px;letter-spacing:5px;fill:#8c8069;}
.map-park-name{font-size:24px;font-weight:500;letter-spacing:4px;fill:#526b52;}
.map-micro{font-size:11px;letter-spacing:1.4px;fill:#788071;}
.map-landmark{font-size:19px;fill:#48534d;font-weight:500;}
.map-note{font-size:14px;fill:#7c7d71;}
.map-north{font-size:13px;fill:#53615b;font-weight:600;}
.map-legend{font-size:13px;fill:#6d7369;}
.map-disclaimer{font-size:12px;fill:#7f7d70;}
@media (max-width:680px){
.location-section .section-head{align-items:start;gap:20px;}
.map-frame iframe{height:360px;}
.location-highlights{gap:10px 18px;font-size:var(--ui-caption);}
.map-frame{overflow:hidden;border-radius:12px;}
.location-map{width:100%;max-width:100%;height:auto;}
.map-caption{font-size:var(--ui-caption);}
}
.map-exit{font-size:15px;font-weight:600;fill:#425e5d;}
.map-exit-note{font-size:12px;fill:#6c7d70;}
.location-map .map-road{font-size:15px;letter-spacing:2px;}
/* Contact uses the same inner-page type roles, with real images kept intact. */
.contact-intro.section{padding:42px 0 46px;background:var(--ui-paper);}
.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
.contact-details{min-width:0;}
.contact-details>.eyebrow{color:var(--ui-accent);margin-bottom:10px;}
.contact-details>h2{font:600 var(--ui-section)/1.4 var(--sans);letter-spacing:-.5px;color:var(--ui-ink);}
.contact-details dl{margin:24px 0 20px;}
.contact-details .fact-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--ui-line);font:400 var(--ui-caption)/1.8 var(--sans);}
.contact-details .fact-row dt{color:var(--ui-muted);}
.contact-details .fact-row dd{margin:0;color:var(--ui-ink);}
.contact-details .actions{margin-top:28px;gap:14px;}
.contact-wechat{display:flex;align-items:center;gap:22px;margin:34px 0 0;padding-top:30px;border-top:1px solid var(--ui-line);}
.contact-wechat img{display:block;width:168px;height:168px;object-fit:contain;background:#fff;flex:none;}
.contact-wechat figcaption{display:flex;flex-direction:column;gap:8px;font:400 var(--ui-caption)/1.7 var(--sans);color:var(--ui-muted);}
.contact-wechat strong{font-size:var(--ui-body);font-weight:600;color:var(--ui-ink);}
.contact-building{margin:0;}
.contact-building img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:540px;object-fit:cover;object-position:53% 43%;border-radius:12px;}
.contact-building figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font:400 var(--ui-caption)/1.7 var(--sans);color:var(--ui-muted);}
.contact-personal-qr{margin:20px 0 0;font:400 var(--ui-caption)/1.7 var(--sans);color:var(--ui-muted);}
.contact-personal-qr img{max-width:144px;}
.location-section.section{padding:44px 0;}
.location-section .section-head{margin-bottom:20px;}
.location-section .section-head h2{font-size:var(--ui-section);line-height:1.35;}
.location-highlights{margin-top:22px;}
.location-address{margin-bottom:20px;}
@media (max-width:760px){
.contact-layout{grid-template-columns:1fr;gap:30px;}
.contact-intro.section{padding:30px 0 34px;}
.contact-building img{aspect-ratio:3/2;max-height:390px;}
.contact-details .fact-row{font-size:var(--ui-body);gap:12px;}
.contact-wechat{margin-top:24px;padding-top:20px;gap:16px;}
.contact-wechat img{width:136px;height:136px;}
.contact-wechat strong{font-size:var(--ui-caption);}
.location-section.section{padding:34px 0;}
.location-section .section-head{flex-wrap:wrap;}
.location-section .section-head h2{font-size:var(--ui-section);}
.location-section .section-head .btn{font-size:var(--ui-caption);}
.contact-building figcaption{font-size:var(--ui-caption);}
}
/* Shared footer: brand/navigation followed by a balanced map and consultation row. */
.footer .footer-top{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;align-items:start}
.footer .footer-links{grid-column:2;grid-row:1;justify-content:flex-end}
.footer-location{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;padding-top:28px;border-top:1px solid var(--ui-line);min-width:0}
.footer-map{border:0;border-radius:8px;overflow:hidden;background:transparent;box-shadow:none}
.footer-map .location-map{width:100%;max-width:100%;height:auto}
.footer-location-title{font:600 22px/1.5 var(--ui-font);color:var(--ui-ink)}
.footer-visit-copy>p{margin:12px 0;font:400 16px/1.8 var(--ui-font);color:var(--ui-muted)}
.footer-map-address{display:block;font:600 14px/1.7 var(--ui-font);color:var(--ui-ink)}
.footer-consult{display:flex;gap:20px;align-items:center;margin-top:22px}
.footer-consult strong{font:600 16px/1.6 var(--ui-font);color:var(--ui-ink)}
.footer-consult p{margin:8px 0 0;font:400 14px/1.7 var(--ui-font);color:var(--ui-muted)}
@media(max-width:700px){.footer .footer-top{grid-template-columns:1fr;gap:26px}.footer .footer-links{grid-column:1;grid-row:auto;justify-content:flex-start}.footer-location{grid-template-columns:1fr;gap:22px;grid-column:1;grid-row:2}.footer-map{max-width:540px}.footer-consult{gap:18px}}

/* Contact action: independent enterprise-WeChat QR with the verified original payload. */
.contact-wecom{display:flex;align-items:center;gap:22px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--ui-line)}
.wecom-qr-crop{display:block;position:relative;flex:none;width:168px;height:168px;overflow:hidden;background:#fff}
.wecom-qr-crop img{display:block;width:100%;height:100%;object-fit:contain}
.contact-wecom figcaption{display:flex;flex-direction:column;gap:8px;font:400 var(--ui-caption)/1.7 var(--ui-font);color:var(--ui-muted)}
.contact-qr-wechat{margin-top:3px;color:var(--ui-ink);user-select:text;overflow-wrap:anywhere}
.contact-qr-wechat b{font-weight:600}
.contact-consult-dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px 28px 26px;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-paper);color:var(--ui-ink);box-shadow:0 24px 65px rgba(13,34,48,.24);text-align:center;overflow:auto}
.contact-consult-dialog::backdrop{background:rgba(13,34,48,.7)}
.contact-consult-dialog h2{font:600 22px/1.45 var(--ui-font);margin:0 42px 20px}
.contact-consult-dialog img{display:block;width:min(260px,100%);height:auto;aspect-ratio:1;margin:0 auto;background:#fff}
.contact-consult-dialog p{margin:14px 0 0;font:400 15px/1.6 var(--ui-font);color:var(--ui-muted)}
.contact-consult-dialog .contact-dialog-id{margin-top:10px;color:var(--ui-ink);user-select:text}
.contact-dialog-id strong{font-weight:600}
.contact-dialog-close{position:absolute;top:13px;right:13px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ui-ink);font:400 28px/1 var(--ui-font);cursor:pointer}
.contact-dialog-close:focus-visible{outline:3px solid var(--ui-accent);outline-offset:2px}
.contact-wecom strong{font:600 var(--ui-body)/1.6 var(--ui-font);color:var(--ui-ink)}
.footer-location h3,.footer-location h4{font:600 var(--ui-body)/1.6 var(--ui-font);color:var(--ui-ink);margin:0 0 12px}
@media(max-width:600px){.contact-wecom{gap:16px}.wecom-qr-crop{width:128px;height:128px}.contact-wecom figcaption{min-width:0}.contact-building figcaption{flex-wrap:wrap}}
