/* Nanshan reference layout. Shared navigation and footer keep their own styles. */
main.nr-site {
  --nr-blue:#0068f4; --nr-deep:#003fe0; --nr-navy:#05286d; --nr-ink:#24456c;
  --nr-muted:#617694; --nr-teal:#009c91; --nr-line:#dce8f6; --nr-wash:#f4f8ff;
  display:block; width:100%; max-width:none; margin:0; padding:0; background:#fff;
  color:var(--nr-ink); font:14px/1.45 Arial,Helvetica,sans-serif; color-scheme:light;
}
main.nr-site .nr-page,main.nr-site .nr-page *,main.nr-site .nr-page *::before,main.nr-site .nr-page *::after { box-sizing:border-box; }
main.nr-site .nr-page { min-width:0; margin:0; padding:0 0 24px; }
main.nr-site .nr-page [hidden] { display:none!important; }
main.nr-site .nr-page [id] { scroll-margin-top:100px; }
main.nr-site .nr-page :is(h1,h2,h3,h4,p,ol,ul,dl,figure,fieldset) { margin:0; }
main.nr-site .nr-page :is(h1,h2,h3,h4) { color:var(--nr-deep); font-family:Arial,Helvetica,sans-serif; letter-spacing:-.03em; }
main.nr-site .nr-page a { color:var(--nr-deep); text-decoration:none; text-underline-offset:3px; }
main.nr-site .nr-page a:hover { text-decoration:underline; }
main.nr-site .nr-page :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #efac22; outline-offset:3px; }
main.nr-site .nr-page :is(button,input,select,textarea) { font:inherit; }
main.nr-site .nr-page :is(button,input,select,textarea,fieldset) { min-width:0; max-width:100%; }
main.nr-site .nr-page button { cursor:pointer; }
main.nr-site .nr-page button:disabled { cursor:not-allowed; opacity:.6; }
main.nr-site .nr-page :is(select,input:not([type=checkbox]):not([type=radio]),textarea) {
  display:block; width:100%; min-height:44px; border:1px solid #c9ddf5; border-radius:5px;
  padding:10px; background:#fff; color:#173c69; font-size:14px; line-height:1.35;
}
main.nr-site .nr-page textarea { min-height:80px; resize:vertical; }
main.nr-site .nr-page input::placeholder,main.nr-site .nr-page textarea::placeholder { color:#788aa3; opacity:1; }
main.nr-site .nr-page input[type=checkbox],main.nr-site .nr-page input[type=radio] {
  appearance:auto; position:static; width:17px; height:17px; min-width:17px; min-height:17px;
  margin:0; opacity:1; accent-color:var(--nr-blue); clip:auto; clip-path:none; flex:0 0 17px;
}
main.nr-site .nr-page fieldset { border:0; padding:0; }
main.nr-site .nr-page summary { cursor:pointer; }
main.nr-site .nr-icon { display:inline-block; flex:0 0 24px; width:24px; height:24px; vertical-align:-.3em; }
main.nr-site .nr-muted { color:var(--nr-muted); }
main.nr-site .nr-note { padding:10px 12px; border:1px solid #dbe8f7; border-left:3px solid var(--nr-blue); border-radius:5px; background:#f3f8ff; color:#3e5e83; }
main.nr-site .nr-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; white-space:nowrap; clip-path:inset(50%); border:0; }
main.nr-site .nr-status { color:#315d89; font-size:13px; line-height:1.5; }
main.nr-site .nr-status:empty { display:none; }

main.nr-site .nr-hero { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:#0b294f; }
main.nr-site .nr-hero::before { content:""; position:absolute; z-index:-2; inset:0; background-image:var(--nr-hero-image,none); background-size:cover; background-position:center 49%; }
main.nr-site .nr-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#02172ee8 0%,#031e3aa8 36%,#061c3526 74%,#03192b05),linear-gradient(0deg,#00162c77,transparent 60%); }
main.nr-site .nr-hero-inner { position:relative; width:min(1540px,calc(100% - 64px)); min-height:325px; margin:0 auto; padding:19px 0 22px; }
main.nr-site .nr-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:12px; color:#eff5ff; font-size:13px; line-height:1.4; }
main.nr-site .nr-breadcrumb a { color:#fff; }
main.nr-site .nr-hero h1 { color:#fff; font-size:clamp(50px,5.2vw,76px); line-height:.96; font-weight:850; letter-spacing:-.045em; text-shadow:0 2px 15px #00152c4d; }
main.nr-site .nr-hero-subtitle { max-width:960px; margin-top:1px!important; color:#fff; font-size:clamp(25px,2.45vw,36px); line-height:1.12; font-weight:800; letter-spacing:-.025em; }
main.nr-site .nr-hero-description { max-width:860px; margin-top:10px!important; color:#fff; font-size:18px; line-height:1.35; }
main.nr-site .nr-badges { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin-top:14px; color:#fff; }
main.nr-site .nr-badges > :is(span,a,li) { display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:12px; line-height:1.3; }
main.nr-site .nr-badges .nr-icon { flex-basis:22px; width:22px; height:22px; padding:4px; border-radius:50%; color:var(--nr-blue); background:#fff; }
main.nr-site .nr-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:15px; }
main.nr-site .nr-button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:0;
  padding:10px 14px; border:1px solid #92b8fb; border-radius:5px; color:var(--nr-deep); background:#fff;
  font-size:13px; font-weight:700; line-height:1.3; text-align:center; text-decoration:none;
}
main.nr-site .nr-button:hover { background:#edf5ff; border-color:#4c98fb; text-decoration:none; }
main.nr-site .nr-button-primary { color:#fff; background:var(--nr-blue); border-color:var(--nr-blue); }
main.nr-site .nr-button-primary:hover { color:#fff; background:#0055d4; border-color:#0055d4; }
main.nr-site .nr-page a.nr-button-primary,main.nr-site .nr-page a.nr-button-primary:hover { color:#fff; }
main.nr-site .nr-button-small { min-height:44px; padding:8px 10px; font-size:12px; }
main.nr-site .nr-button .nr-icon { width:18px; height:18px; flex-basis:18px; }
main.nr-site .nr-hero-actions .nr-button { min-width:205px; }
main.nr-site .nr-hero-actions .nr-button:not(.nr-button-primary) { color:#fff; background:#05223bc7; border-color:#e8f4ff; }
main.nr-site .nr-hero-actions .nr-button:not(.nr-button-primary):hover { color:#fff; background:#103650; }
main.nr-site .nr-hero-credit { position:absolute; right:0; bottom:14px; color:#f1f7ff; font-size:11px; text-shadow:0 1px 6px #00152c; }

main.nr-site .nr-facts { display:grid; grid-template-columns:.85fr 1.15fr 1.15fr 1.15fr 1.3fr 1.35fr; gap:8px; width:min(1540px,calc(100% - 48px)); margin:10px auto 14px; }
main.nr-site .nr-fact { display:flex; align-items:flex-start; gap:9px; min-width:0; min-height:94px; padding:12px 10px; border:1px solid var(--nr-line); border-radius:6px; background:linear-gradient(135deg,#fff,#f6faff); }
main.nr-site .nr-fact > .nr-icon { flex-basis:30px; width:30px; height:30px; color:var(--nr-blue); }
main.nr-site .nr-fact > div { min-width:0; }
main.nr-site .nr-fact strong { display:block; color:var(--nr-navy); font-size:12px; line-height:1.3; margin-bottom:4px; }
main.nr-site .nr-fact p { font-size:13px; line-height:1.4; color:#315b88; }
main.nr-site .nr-fact :is(small,.nr-muted) { display:block; margin-top:3px; font-size:12px; }
main.nr-site .nr-metro-lines { display:flex; flex-wrap:wrap; gap:3px; margin-top:3px; }
main.nr-site .nr-metro-lines span { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:2px; border-radius:50%; color:#fff; background:var(--line-color,var(--nr-blue)); font-size:11px; font-weight:700; }
main.nr-site .nr-shell { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:18px; align-items:start; width:min(1540px,calc(100% - 48px)); margin:0 auto; }
main.nr-site .nr-main,main.nr-site .nr-sidebar { min-width:0; }
main.nr-site .nr-main { display:grid; gap:14px; }
main.nr-site .nr-sidebar { display:grid; gap:12px; align-content:start; }
main.nr-site .nr-panel { min-width:0; padding:12px; border:1px solid var(--nr-line); border-radius:8px; background:#fff; }
main.nr-site .nr-heading { display:flex; flex-wrap:wrap; gap:5px 13px; align-items:baseline; margin-bottom:11px; }
main.nr-site .nr-heading h2 { color:var(--nr-deep); font-size:25px; line-height:1.12; font-weight:800; }
main.nr-site .nr-heading p { color:var(--nr-muted); font-size:12px; line-height:1.4; }
main.nr-site .nr-heading > a { margin-left:auto; font-size:12px; }
main.nr-site .nr-heading .nr-icon { width:25px; height:25px; margin-right:5px; }

main.nr-site .nr-priorities { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
main.nr-site .nr-chip { position:relative; display:flex; align-items:center; gap:8px; min-width:0; min-height:62px; padding:9px 8px; border:1px solid #e0ebf9; border-radius:6px; background:linear-gradient(140deg,#f4f9ff,#fff); color:#183f84; cursor:pointer; font-size:12px; line-height:1.35; }
main.nr-site .nr-chip input[type=checkbox] { position:absolute; opacity:0; width:1px; height:1px; min-width:0; min-height:0; pointer-events:none; }
main.nr-site .nr-chip > span { display:flex; align-items:center; gap:8px; min-width:0; }
main.nr-site .nr-chip .nr-icon { flex-basis:34px; width:34px; height:34px; padding:7px; border-radius:50%; color:var(--chip-color,#006bf5); background:var(--chip-bg,#e6efff); }
main.nr-site .nr-chip:has(input:checked),main.nr-site .nr-chip.is-selected { border-color:#2e84ff; background:#e6f1ff; box-shadow:inset 0 0 0 1px #2e84ff; }
main.nr-site .nr-chip:has(input:focus-visible) { outline:3px solid #efac22; outline-offset:3px; }
main.nr-site .nr-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) minmax(170px,1.35fr); gap:10px; align-items:end; margin-top:12px; }
main.nr-site .nr-field { display:flex; flex-direction:column; gap:5px; min-width:0; color:#27538c; font-size:12px; line-height:1.35; }
main.nr-site .nr-field > span { min-width:0; }
main.nr-site .nr-fields > .nr-button { min-height:44px; }
main.nr-site .nr-fit-result:empty { display:none; }
main.nr-site .nr-fit-result:not(:empty) { margin-top:13px; padding:13px; border:1px solid #cce2ff; border-radius:6px; background:#f4f9ff; }
main.nr-site .nr-fit-result h3 { margin-bottom:8px; font-size:19px; }
main.nr-site .nr-fit-result :is(p,li) { margin-bottom:7px; }
main.nr-site .nr-fit-result ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; list-style:none; padding:0; }
main.nr-site .nr-fit-result li { padding:11px; border:1px solid #d6e7fa; border-radius:6px; background:#fff; }

main.nr-site .nr-map-layout { display:grid; grid-template-columns:minmax(0,1fr) 215px; gap:10px; align-items:start; }
main.nr-site .nr-map { position:relative; min-width:0; margin:0; border:1px solid #d7e6f4; border-radius:7px; overflow:hidden; background:#e5f1ec; }
main.nr-site .nr-map > svg,main.nr-site .nr-map > figure > svg { display:block; width:100%; height:auto; max-width:100%; }
main.nr-site .nr-map figure { margin:0; }
main.nr-site .nr-map figcaption,main.nr-site .nr-map-caption { padding:7px 9px; color:#577b95; font-size:12px; line-height:1.35; background:#f5faff; }
main.nr-site .nr-map a { cursor:pointer; }
main.nr-site .nr-map a:focus-visible { outline:none; }
main.nr-site .nr-map a:focus-visible :is(rect,path,circle) { stroke:#e29e10; stroke-width:3; }
main.nr-site .nr-map [data-nr-area].is-active :is(rect,path),main.nr-site .nr-map [data-nr-area][aria-current=true] :is(rect,path) { filter:brightness(1.04); }
main.nr-site .nr-map-legend { display:flex; flex-wrap:wrap; gap:6px 12px; padding:8px 10px; background:#fff; color:#476888; font-size:12px; }
main.nr-site .nr-map-legend > span { display:inline-flex; gap:5px; align-items:center; }
main.nr-site .nr-map-dot { display:inline-block; width:11px; height:11px; border-radius:50%; background:var(--dot-color,#00a18f); }
main.nr-site .nr-landmarks { min-width:0; padding:10px; border:1px solid #d7e6f7; border-radius:6px; background:linear-gradient(145deg,#fff,#f5faff); }
main.nr-site .nr-landmarks h3 { margin-bottom:9px; font-size:17px; line-height:1.2; }
main.nr-site .nr-landmark-list { display:grid; gap:10px; list-style:none; padding:0; counter-reset:nr-landmarks; }
main.nr-site .nr-landmark-list li { position:relative; min-height:32px; padding-left:32px; counter-increment:nr-landmarks; font-size:12px; line-height:1.35; color:#234a77; }
main.nr-site .nr-landmark-list li::before { content:counter(nr-landmarks); position:absolute; display:grid; place-items:center; left:0; top:0; width:23px; height:23px; border-radius:50%; background:#092885; color:#fff; font-size:12px; font-weight:700; }
main.nr-site .nr-landmark-list small { display:block; color:var(--nr-muted); font-size:11px; }
main.nr-site .nr-feature-photo { margin-top:13px; }
main.nr-site .nr-feature-photo img { display:block; width:100%; height:115px; object-fit:cover; border-radius:5px; }
main.nr-site .nr-feature-photo h4,main.nr-site .nr-feature-photo strong { display:block; margin-top:5px; font-size:13px; line-height:1.3; color:var(--nr-deep); }
main.nr-site .nr-feature-photo p { margin-top:3px; color:#567292; font-size:12px; line-height:1.4; }

main.nr-site .nr-area-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
main.nr-site .nr-area-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #d8e6f6; border-radius:6px; background:#fff; }
main.nr-site .nr-area-card.is-active { border-color:#3c91ff; box-shadow:0 0 0 2px #e0efff; }
main.nr-site .nr-area-card > img { display:block; width:100%; height:105px; object-fit:cover; background:#e6eff9; }
main.nr-site .nr-area-copy { display:flex; flex-direction:column; flex:1; min-width:0; padding:9px; }
main.nr-site .nr-area-copy h3 { min-height:34px; font-size:16px; line-height:1.1; font-weight:800; }
main.nr-site .nr-area-copy > p[lang=zh],main.nr-site .nr-area-chinese { margin-top:3px; color:#3464a0; font-size:12px; line-height:1.35; }
main.nr-site .nr-bullets { display:grid; gap:5px; margin-top:10px!important; padding:0; list-style:none; color:#3e668a; font-size:12px; line-height:1.35; }
main.nr-site .nr-bullets li { position:relative; padding-left:15px; }
main.nr-site .nr-bullets li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--nr-teal); font-size:12px; font-weight:800; }
main.nr-site .nr-tradeoff { margin:9px 0!important; padding:7px; border-radius:5px; background:#f1f3f8; color:#68778e; font-size:12px; line-height:1.35; }
main.nr-site .nr-tradeoff strong { color:#4d6582; }
main.nr-site .nr-access,main.nr-site .nr-rent { display:flex; align-items:flex-start; gap:5px; margin-top:7px!important; color:#315e8e; font-size:12px; line-height:1.35; }
main.nr-site .nr-access .nr-icon,main.nr-site .nr-rent .nr-icon { color:var(--nr-teal); width:16px; height:16px; flex-basis:16px; }
main.nr-site .nr-card-actions { display:grid; gap:5px; margin-top:auto; padding-top:10px; }
main.nr-site .nr-card-actions .nr-button { width:100%; font-size:12px; }
main.nr-site .nr-area-details { display:grid; gap:9px; }
main.nr-site .nr-detail { border:1px solid var(--nr-line); border-radius:7px; background:#fff; }
main.nr-site .nr-detail > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:48px; padding:12px 14px; color:var(--nr-deep); font-weight:700; list-style:none; }
main.nr-site .nr-detail > summary::-webkit-details-marker { display:none; }
main.nr-site .nr-detail > summary::after { content:"+"; font-size:20px; line-height:1; }
main.nr-site .nr-detail[open] > summary::after { content:"−"; }
main.nr-site .nr-detail > :not(summary) { padding:0 14px 14px; }
main.nr-site .nr-detail :is(p,ul,dl) { margin-top:9px; }
main.nr-site .nr-detail :is(h3,h4) { margin-top:13px; font-size:16px; }
main.nr-site .nr-detail ul { padding-left:21px; }
main.nr-site .nr-detail li { margin-bottom:4px; }
main.nr-site .nr-detail .nr-button { margin-top:11px; }

main.nr-site .nr-practical-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
main.nr-site .nr-practical-card { display:flex; flex-direction:column; min-width:0; padding:10px; border:1px solid var(--nr-line); border-radius:7px; background:#fff; }
main.nr-site .nr-practical-card h3 { order:-2; margin-bottom:8px; font-size:18px; line-height:1.15; }
main.nr-site .nr-practical-card img { display:block; width:100%; height:125px; margin-bottom:8px; object-fit:cover; border-radius:5px; }
main.nr-site .nr-practical-card p { flex:1; margin-bottom:10px; color:#456a91; font-size:13px; line-height:1.4; }
main.nr-site .nr-practical-card .nr-button { width:100%; font-size:12px; }
main.nr-site .nr-day-planner > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:54px; padding:13px; color:var(--nr-deep); font-size:21px; font-weight:800; list-style:none; }
main.nr-site .nr-day-planner > summary::-webkit-details-marker { display:none; }
main.nr-site .nr-day-planner > summary::after { content:"+"; font-size:23px; }
main.nr-site .nr-day-planner[open] > summary::after { content:"−"; }
main.nr-site .nr-day-planner > :not(summary) { padding:0 13px 13px; }
main.nr-site .nr-plan-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:end; }
main.nr-site .nr-plan-result { margin-top:14px; }
main.nr-site .nr-plan-result h3 { margin-bottom:8px; font-size:21px; }
main.nr-site .nr-plan-result > p { margin-bottom:9px; }
main.nr-site .nr-plan-stop { display:grid; grid-template-columns:65px minmax(0,1fr); gap:12px; padding:12px 0; border-top:1px solid #e2ebf6; }
main.nr-site .nr-plan-stop time { font-weight:800; color:var(--nr-blue); }
main.nr-site .nr-plan-stop h4 { margin-bottom:4px; font-size:16px; }
main.nr-site .nr-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
main.nr-site .nr-comparison { min-width:0; }
main.nr-site .nr-comparison:empty { display:none; }
main.nr-site .nr-table-wrap { width:100%; overflow:auto; border:1px solid var(--nr-line); border-radius:5px; }
main.nr-site .nr-comparison table { width:100%; min-width:700px; border-collapse:collapse; color:#345c85; font-size:13px; }
main.nr-site .nr-comparison :is(th,td) { padding:9px 11px; border:1px solid #e1eaf7; vertical-align:top; text-align:left; }
main.nr-site .nr-comparison thead th { color:var(--nr-navy); background:#edf5ff; font-weight:700; }
main.nr-site .nr-comparison tbody th { min-width:130px; color:var(--nr-deep); }
main.nr-site .nr-comparison caption { margin:0 0 8px; color:var(--nr-deep); font-weight:700; text-align:left; }

main.nr-site .nr-side-card { min-width:0; padding:12px; border:1px solid var(--nr-line); border-radius:7px; background:linear-gradient(145deg,#fff,#f6faff); }
main.nr-site .nr-side-card h2 { display:flex; align-items:center; gap:7px; margin-bottom:10px; font-size:18px; line-height:1.15; font-weight:800; }
main.nr-site .nr-side-card h2 > .nr-icon { width:27px; height:27px; flex-basis:27px; padding:5px; border-radius:50%; color:#fff; background:var(--nr-blue); }
main.nr-site .nr-side-card p { font-size:13px; line-height:1.45; }
main.nr-site .nr-side-card > .nr-button { width:100%; margin-top:10px; }
main.nr-site .nr-quick-facts { display:grid; gap:10px; list-style:none; padding:0; }
main.nr-site .nr-quick-facts > li { display:flex; align-items:flex-start; gap:7px; color:#4d6a90; font-size:12px; line-height:1.4; }
main.nr-site .nr-quick-facts .nr-icon { width:20px; height:20px; flex-basis:20px; color:var(--nr-teal); }
main.nr-site .nr-quick-facts strong { color:#234d7d; font-weight:700; }
main.nr-site .nr-weather { min-width:0; }
main.nr-site .nr-weather strong { color:var(--nr-navy); font-size:24px; line-height:1.2; }
main.nr-site .nr-weather .nr-icon { width:45px; height:45px; color:#ffb600; }
main.nr-site .nr-weather-summary { display:flex; gap:11px; align-items:center; }
main.nr-site .nr-weather-status { margin-top:7px!important; color:var(--nr-muted); font-size:12px; }
main.nr-site .nr-shortlist { display:grid; gap:8px; list-style:none; padding:0; }
main.nr-site .nr-shortlist > li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px; padding:8px; border-radius:5px; background:#edf5ff; color:#255588; font-size:13px; }
main.nr-site .nr-shortlist button { min-height:32px; padding:4px 7px; border:1px solid #c0d8f8; border-radius:4px; color:#0750bf; background:#fff; font-size:12px; }
main.nr-site .nr-shortlist-empty { padding:13px 8px; border-radius:5px; background:#edf5ff; color:#6583a0; text-align:center; font-size:12px; }
main.nr-site .nr-utilities { display:grid; gap:7px; }
main.nr-site .nr-utilities > .nr-button { justify-content:flex-start; width:100%; padding-inline:11px; }
main.nr-site .nr-links { display:grid; gap:8px; list-style:none; padding:0; }
main.nr-site .nr-links li { min-width:0; }
main.nr-site .nr-links a { display:flex; align-items:flex-start; gap:7px; color:#1456bd; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
main.nr-site .nr-links .nr-icon { width:17px; height:17px; flex-basis:17px; }
main.nr-site .nr-read-next { display:grid; gap:6px; }
main.nr-site .nr-read-next-item { display:flex; align-items:center; gap:8px; min-height:48px; padding:5px; border-radius:5px; background:#eaf3ff; font-size:12px; line-height:1.35; }
main.nr-site .nr-read-next-item img { display:block; flex:0 0 46px; width:46px; height:38px; object-fit:cover; border-radius:3px; }
main.nr-site .nr-read-next-item strong { display:block; font-size:12px; }
main.nr-site .nr-read-next-item small { display:block; margin-top:2px; color:#57769b; font-size:11px; }
main.nr-site .nr-report { padding:10px; border-radius:6px; border:1px solid #ffd6db; background:#fff0f2; color:#cc163a; }
main.nr-site .nr-credit { padding:10px 12px; border:1px solid var(--nr-line); border-radius:7px; color:#537292; font-size:12px; }
main.nr-site .nr-credit summary { color:#315f99; font-weight:700; }
main.nr-site .nr-credit[open] > :not(summary) { margin-top:9px; }
main.nr-site .nr-credit ul { display:grid; gap:6px; padding-left:20px; }
main.nr-site .nr-credit a { overflow-wrap:anywhere; }

@media (min-width:1700px) {
  main.nr-site .nr-hero-inner { min-height:350px; padding-top:26px; }
  main.nr-site .nr-hero h1 { font-size:82px; }
  main.nr-site .nr-hero-subtitle { font-size:39px; }
}
@media (max-width:1250px) {
  main.nr-site .nr-shell { grid-template-columns:minmax(0,1fr) 245px; gap:13px; }
  main.nr-site .nr-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  main.nr-site .nr-fact { min-height:82px; }
  main.nr-site .nr-area-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  main.nr-site .nr-area-card > img { height:130px; }
  main.nr-site .nr-area-copy h3 { min-height:0; font-size:18px; }
  main.nr-site .nr-bullets { font-size:13px; }
  main.nr-site .nr-area-copy { padding:11px; }
  main.nr-site .nr-map-layout { grid-template-columns:minmax(0,1fr) 185px; }
  main.nr-site .nr-landmarks { padding:9px; }
  main.nr-site .nr-landmark-list { gap:8px; }
  main.nr-site .nr-priorities { grid-template-columns:repeat(4,minmax(0,1fr)); }
  main.nr-site .nr-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.nr-site .nr-fields > .nr-button { grid-column:1/-1; }
  main.nr-site .nr-practical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.nr-site .nr-practical-card img { height:145px; }
}
@media (max-width:950px) {
  main.nr-site .nr-hero-inner { width:calc(100% - 40px); min-height:330px; }
  main.nr-site .nr-hero-description { max-width:730px; }
  main.nr-site .nr-hero::after { background:linear-gradient(90deg,#02172eed,#03203aa6 64%,#061c3544); }
  main.nr-site .nr-shell { grid-template-columns:1fr; }
  main.nr-site .nr-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  main.nr-site .nr-facts,main.nr-site .nr-shell { width:calc(100% - 32px); }
  main.nr-site .nr-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }
  main.nr-site .nr-fields > .nr-button { grid-column:1/-1; }
  main.nr-site .nr-priorities { grid-template-columns:repeat(4,minmax(0,1fr)); }
  main.nr-site .nr-map-layout { grid-template-columns:minmax(0,1fr) 205px; }
}
@media (max-width:650px) {
  main.nr-site .nr-hero-inner { width:calc(100% - 32px); min-height:0; padding:18px 0 22px; }
  main.nr-site .nr-breadcrumb { margin-bottom:17px; font-size:12px; }
  main.nr-site .nr-hero h1 { font-size:56px; }
  main.nr-site .nr-hero-subtitle { max-width:500px; margin-top:5px!important; font-size:27px; }
  main.nr-site .nr-hero-description { margin-top:11px!important; font-size:16px; line-height:1.4; }
  main.nr-site .nr-badges { gap:9px 13px; margin-top:14px; }
  main.nr-site .nr-badges > :is(span,a,li) { font-size:11px; }
  main.nr-site .nr-hero-actions { gap:8px; margin-top:17px; }
  main.nr-site .nr-hero-actions .nr-button { flex:1 1 200px; width:100%; min-width:0; }
  main.nr-site .nr-hero-credit { position:static; margin-top:11px!important; font-size:10px; }
  main.nr-site .nr-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:10px; }
  main.nr-site .nr-facts,main.nr-site .nr-shell { width:calc(100% - 24px); }
  main.nr-site .nr-fact { gap:7px; padding:10px 8px; min-height:100px; }
  main.nr-site .nr-fact > .nr-icon { width:24px; height:24px; flex-basis:24px; }
  main.nr-site .nr-fact strong { font-size:11px; }
  main.nr-site .nr-fact p { font-size:12px; }
  main.nr-site .nr-panel { padding:12px; }
  main.nr-site .nr-heading { gap:6px; margin-bottom:12px; }
  main.nr-site .nr-heading h2 { font-size:24px; }
  main.nr-site .nr-heading p { flex-basis:100%; font-size:12px; }
  main.nr-site .nr-priorities { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  main.nr-site .nr-chip { flex-direction:column; justify-content:center; min-height:88px; padding:8px 6px; text-align:center; font-size:11px; }
  main.nr-site .nr-chip > span { flex-direction:column; gap:5px; }
  main.nr-site .nr-chip .nr-icon { width:32px; height:32px; flex-basis:32px; }
  main.nr-site .nr-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.nr-site .nr-field { font-size:12px; }
  main.nr-site .nr-fit-result ol { grid-template-columns:1fr; }
  main.nr-site .nr-map-layout { grid-template-columns:1fr; }
  main.nr-site .nr-landmarks { padding:12px; }
  main.nr-site .nr-landmark-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  main.nr-site .nr-landmark-list li { padding-left:29px; }
  main.nr-site .nr-feature-photo { display:grid; grid-template-columns:110px minmax(0,1fr); column-gap:11px; margin-top:14px; }
  main.nr-site .nr-feature-photo img { grid-row:1/4; height:100%; min-height:85px; }
  main.nr-site .nr-feature-photo h4,main.nr-site .nr-feature-photo strong { margin-top:1px; }
  main.nr-site .nr-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.nr-site .nr-area-card > img { height:120px; }
  main.nr-site .nr-area-copy { padding:10px; }
  main.nr-site .nr-area-copy h3 { min-height:36px; font-size:17px; }
  main.nr-site .nr-tradeoff,main.nr-site .nr-access,main.nr-site .nr-rent { font-size:12px; }
  main.nr-site .nr-plan-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.nr-site .nr-sidebar { gap:11px; }
}
@media (max-width:450px) {
  main.nr-site .nr-hero h1 { font-size:52px; }
  main.nr-site .nr-hero-subtitle { font-size:25px; }
  main.nr-site .nr-priorities { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.nr-site .nr-chip { align-items:flex-start; flex-direction:row; justify-content:flex-start; min-height:68px; padding:9px 8px; text-align:left; font-size:12px; }
  main.nr-site .nr-chip > span { flex-direction:row; align-items:center; gap:7px; }
  main.nr-site .nr-chip .nr-icon { width:30px; height:30px; flex-basis:30px; }
  main.nr-site .nr-fields { grid-template-columns:1fr; }
  main.nr-site .nr-fields > .nr-button { grid-column:auto; }
  main.nr-site .nr-landmark-list { grid-template-columns:1fr; }
  main.nr-site .nr-area-grid { grid-template-columns:1fr; gap:12px; }
  main.nr-site .nr-area-card > img { height:175px; }
  main.nr-site .nr-area-copy h3 { min-height:0; font-size:20px; }
  main.nr-site .nr-bullets { gap:7px; font-size:14px; }
  main.nr-site .nr-area-copy { padding:13px; }
  main.nr-site .nr-tradeoff,main.nr-site .nr-access,main.nr-site .nr-rent { font-size:13px; }
  main.nr-site .nr-practical-grid,main.nr-site .nr-sidebar { grid-template-columns:1fr; }
  main.nr-site .nr-practical-card img { height:170px; }
  main.nr-site .nr-practical-card p { font-size:14px; }
  main.nr-site .nr-plan-fields { grid-template-columns:1fr; }
  main.nr-site .nr-plan-stop { grid-template-columns:52px minmax(0,1fr); gap:9px; }
  main.nr-site .nr-actions > .nr-button { flex:1 1 140px; }
  main.nr-site .nr-detail > summary { padding:12px; }
}
@media (max-width:360px) {
  main.nr-site .nr-hero h1 { font-size:47px; }
  main.nr-site .nr-hero-subtitle { font-size:23px; }
  main.nr-site .nr-facts { grid-template-columns:1fr; }
  main.nr-site .nr-fact { min-height:0; }
  main.nr-site .nr-heading h2 { font-size:22px; }
  main.nr-site .nr-priorities { grid-template-columns:1fr; }
  main.nr-site .nr-chip { min-height:52px; }
}
@media (prefers-reduced-motion:reduce) {
  main.nr-site .nr-page *,main.nr-site .nr-page *::before,main.nr-site .nr-page *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
@media (forced-colors:active) {
  main.nr-site .nr-page :is(.nr-panel,.nr-side-card,.nr-button,.nr-chip,.nr-area-card,.nr-practical-card) { border-color:CanvasText; }
  main.nr-site .nr-hero { color:CanvasText; background:Canvas; }
  main.nr-site .nr-hero::before,main.nr-site .nr-hero::after { display:none; }
  main.nr-site .nr-hero :is(h1,p,a,span) { color:CanvasText; text-shadow:none; }
}
@media print {
  main.nr-site { color:#000; background:#fff; font-size:11pt; }
  main.nr-site .nr-page { padding:0; }
  main.nr-site .nr-hero::before,main.nr-site .nr-hero::after,
  main.nr-site :is(.nr-hero-actions,.nr-sidebar,.nr-priorities,.nr-fields,.nr-card-actions,.nr-actions,.nr-plan-fields),
  main.nr-site .nr-page button { display:none!important; }
  main.nr-site .nr-hero { color:#000; background:#fff; }
  main.nr-site .nr-hero-inner { width:100%; min-height:0; padding:0 0 15px; }
  main.nr-site .nr-hero :is(h1,p,a,span) { color:#000; text-shadow:none; }
  main.nr-site .nr-hero h1 { font-size:35pt; }
  main.nr-site .nr-hero-subtitle { font-size:22pt; }
  main.nr-site .nr-hero-description { font-size:12pt; }
  main.nr-site .nr-facts { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  main.nr-site .nr-shell { display:block; width:100%; margin:0; }
  main.nr-site .nr-panel { margin-bottom:14px; border-color:#aaa; }
  main.nr-site .nr-heading h2 { font-size:19pt; }
  main.nr-site .nr-area-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  main.nr-site .nr-area-card,main.nr-site .nr-practical-card { break-inside:avoid; }
  main.nr-site .nr-area-card > img { height:80px; }
  main.nr-site .nr-map-layout { grid-template-columns:minmax(0,1fr) 160px; }
  main.nr-site .nr-map { break-inside:avoid; }
  main.nr-site .nr-landmark-list { grid-template-columns:1fr; }
  main.nr-site .nr-practical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.nr-site .nr-table-wrap { overflow:visible; }
  main.nr-site .nr-comparison table { min-width:0; font-size:8pt; }
  main.nr-site .nr-comparison :is(th,td) { padding:5px; }
  main.nr-site .nr-page a { color:#000; text-decoration:underline; }
}

/* Integration with the rendered SVG, facts, results and native disclosures. */
main.nr-site .nr-line-badge { display:inline-grid; place-items:center; min-width:21px; height:21px; margin:2px 0; padding:2px; border-radius:50%; color:#fff; background:var(--nr-line-color,var(--nr-blue)); font-size:11px; font-weight:700; }
main.nr-site .nr-fact-note { background:#edf5ff; }
main.nr-site .nr-fact-note > p { min-width:0; font-size:12px; }
main.nr-site .nr-result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:12px; }
main.nr-site .nr-result-card { min-width:0; padding:12px; border:1px solid #d5e6fa; border-radius:6px; background:#fff; }
main.nr-site .nr-result-card h4 { margin-bottom:7px; font-size:17px; line-height:1.2; }
main.nr-site .nr-result-card p { margin-bottom:8px; font-size:13px; line-height:1.45; }
main.nr-site .nr-result-card > a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; font-size:13px; }
main.nr-site .nr-result-warnings { display:grid; gap:7px; margin-top:12px!important; padding-left:20px; }
main.nr-site .nr-fit-result .nr-result-warnings li { padding:0; border:0; border-radius:0; background:none; font-size:13px; }
main.nr-site .nr-map-legend > a { display:inline-flex; gap:5px; align-items:center; min-height:32px; color:#345982; font-size:12px; line-height:1.3; }
main.nr-site .nr-map-legend > a > span { display:block; flex:0 0 11px; width:11px; height:11px; border:1px solid #00000018; border-radius:50%; }
main.nr-site .nr-landmark-list li { display:flex; align-items:flex-start; gap:8px; min-height:32px; padding:0; }
main.nr-site .nr-landmark-list li::before { display:none; }
main.nr-site .nr-landmark-list li > span { display:grid; place-items:center; flex:0 0 23px; width:23px; height:23px; border-radius:50%; background:#092885; color:#fff; font-size:12px; font-weight:700; }
main.nr-site .nr-landmark-list li > a { flex:1; min-width:0; padding-top:2px; }
main.nr-site .nr-feature-photo { display:block; }
main.nr-site .nr-feature-photo h3 { margin-top:5px; margin-bottom:0; font-size:14px; line-height:1.25; }
main.nr-site .nr-card-actions button[aria-pressed=true] { color:#fff; background:#0068f4; border-color:#0068f4; }
main.nr-site .nr-detail > summary { flex-wrap:wrap; gap:5px 10px; }
main.nr-site .nr-detail > summary > span { color:#5d7a9a; font-size:12px; font-weight:400; }
main.nr-site .nr-detail dl { display:grid; gap:9px; }
main.nr-site .nr-detail dl > div { display:grid; grid-template-columns:minmax(110px,.35fr) minmax(0,1fr); gap:9px; padding-top:8px; border-top:1px solid #e4edf8; }
main.nr-site .nr-detail dt { color:#214b80; font-size:13px; font-weight:700; }
main.nr-site .nr-detail dd { min-width:0; margin:0; color:#4c6c90; font-size:13px; }
main.nr-site .nr-detail-actions { display:flex; flex-wrap:wrap; gap:8px; }
main.nr-site .nr-practical-card > div { display:contents; }
main.nr-site .nr-day-planner > summary { flex-wrap:wrap; }
main.nr-site .nr-day-planner > summary h2 { font-size:22px; line-height:1.15; }
main.nr-site .nr-day-planner > summary > span { flex:1 1 250px; color:#617b98; font-size:12px; font-weight:400; line-height:1.4; }
main.nr-site .nr-compare-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
main.nr-site [data-nr-comparison] > h3 { margin-bottom:10px; font-size:20px; }
main.nr-site [data-nr-comparison] > .nr-muted { margin-top:10px; font-size:13px; }
main.nr-site dl.nr-quick-facts > div { display:grid; grid-template-columns:83px minmax(0,1fr); gap:8px; min-width:0; }
main.nr-site dl.nr-quick-facts dt { color:#3c6594; font-size:12px; line-height:1.4; }
main.nr-site dl.nr-quick-facts dd { min-width:0; margin:0; color:#567292; font-size:12px; line-height:1.4; }
main.nr-site .nr-weather { display:flex; gap:11px; align-items:center; }
main.nr-site .nr-weather > div { min-width:0; }
main.nr-site .nr-shortlist button { min-height:44px; padding:8px 9px; }
main.nr-site .nr-shortlist > ul { display:grid; gap:7px; padding:0; list-style:none; }
main.nr-site .nr-shortlist > ul > li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; padding:8px; border-radius:5px; background:#edf5ff; color:#54769b; font-size:12px; line-height:1.4; }
main.nr-site .nr-shortlist > ul > li > a { flex:1 1 100px; min-width:0; }
main.nr-site .nr-shortlist-total { color:#537392; font-size:12px; }
main.nr-site .nr-page > .nr-status { width:min(1540px,calc(100% - 48px)); margin:12px auto 0; }
@media(max-width:650px) {
 main.nr-site .nr-result-grid { grid-template-columns:1fr; }
 main.nr-site .nr-landmark-list li { padding-left:0; }
 main.nr-site .nr-feature-photo { display:grid; }
}
@media(max-width:450px) {
 main.nr-site .nr-detail dl > div { grid-template-columns:1fr; gap:4px; }
}

/* Keep the brand intact and make room for header actions on narrow phones. */
@media (max-width:360px) {
 body.nanshan-reference-active .us-header-inner { padding-inline:8px; gap:4px; }
 body.nanshan-reference-active .us-header-actions { gap:4px; }
 body.nanshan-reference-active .us-languages>a,body.nanshan-reference-active .us-languages>span { padding-inline:5px; }
}
