.page-xiangyang {
  --xy-ink: #061722;
  --xy-deep: #07151f;
  --xy-deeper: #040d14;
  --xy-cyan: #38d9f0;
  --xy-cyan-soft: #b6f4f8;
  --xy-amber: #ff9d63;
  --xy-paper: #f2f4f2;
  --xy-mist: #dce7e8;
  --xy-line: rgba(7, 40, 54, .14);
  --accent: #087f92;
  background: var(--xy-paper);
  color: var(--xy-ink);
}
.page-xiangyang .city-shell { width: min(1240px, calc(100% - 48px)); }
.page-xiangyang .city-eyebrow { color: #087f92; }
.page-xiangyang .city-eyebrow::before { width: 42px; }
.page-xiangyang h1,
.page-xiangyang h2,
.page-xiangyang h3,
.page-xiangyang p { overflow-wrap: anywhere; }

/* Hero: the corridor is a signal map, not a decorative skyline. */
.xy-hero { position: relative; min-height: 760px; overflow: hidden; background: var(--xy-deeper); color: #fff; }
.xy-hero-media,
.xy-hero-media picture,
.xy-hero-media img,
.xy-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.xy-hero-media img { display: block; object-fit: cover; object-position: center; }
.xy-hero-shade { background: linear-gradient(90deg, rgba(2, 11, 19, .94) 0%, rgba(3, 13, 23, .78) 37%, rgba(3, 13, 23, .18) 70%, rgba(3, 13, 23, .3) 100%), linear-gradient(0deg, rgba(3, 13, 20, .72), transparent 48%); }
.xy-hero-shell { position: relative; min-height: 760px; }
.xy-crumb { position: relative; z-index: 2; color: rgba(255,255,255,.56); }
.xy-crumb a { color: inherit; }
.xy-crumb i { color: rgba(255,255,255,.28); }
.xy-crumb strong { color: rgba(255,255,255,.88); }
.xy-hero-copy { position: relative; z-index: 3; width: min(680px, 59%); padding: 90px 0 146px; }
.xy-hero-copy .city-eyebrow { color: var(--xy-cyan); }
.xy-hero-copy h1 { margin: 0; max-width: 680px; font-size: clamp(51px, 4.6vw, 58px); line-height: 1.04; letter-spacing: -.06em; }
.xy-hero-copy h1 span { display: block; margin-top: 8px; color: var(--xy-cyan-soft); }
.xy-lead { max-width: 620px; margin: 28px 0 0; color: rgba(237,250,252,.76); font-size: 17px; line-height: 1.88; }
.xy-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.xy-hero-actions a { display: inline-flex; align-items: center; justify-content: space-between; min-width: 194px; min-height: 54px; padding: 0 20px; border: 1px solid rgba(188,244,250,.28); color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; transition: .25s ease; }
.xy-hero-actions a:first-child { background: var(--xy-cyan); border-color: var(--xy-cyan); color: #062431; }
.xy-hero-actions a:hover { transform: translateY(-2px); border-color: var(--xy-cyan); }
.xy-orbit { position: absolute; z-index: 2; right: 5.7%; top: 34%; width: 310px; aspect-ratio: 1; pointer-events: none; }
.xy-orbit-core { position: absolute; inset: 40%; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(55,217,240,.28); box-shadow: 0 0 35px rgba(55,217,240,.65), inset 0 0 20px rgba(255,255,255,.28); }
.xy-orbit-ring { position: absolute; border: 1px solid rgba(146,237,246,.46); border-radius: 50%; box-shadow: 0 0 30px rgba(42,206,230,.14); }
.xy-orbit-ring.ring-one { inset: 25%; }
.xy-orbit-ring.ring-two { inset: 8%; border-color: rgba(255,166,102,.36); }
.xy-orbit::before,
.xy-orbit::after { position: absolute; top: 50%; width: 70%; height: 1px; background: linear-gradient(90deg, transparent, var(--xy-cyan)); content: ""; transform-origin: right center; }
.xy-orbit::before { right: 48%; transform: rotate(-24deg); }
.xy-orbit::after { right: 45%; background: linear-gradient(90deg, transparent, var(--xy-amber)); transform: rotate(28deg); }
.xy-orbit > i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--xy-cyan); box-shadow: 0 0 16px currentColor; }
.xy-orbit .pulse-a { left: 1%; top: 29%; }
.xy-orbit .pulse-b { right: 4%; top: 56%; color: var(--xy-amber); background: var(--xy-amber); }
.xy-orbit .pulse-c { left: 34%; bottom: 4%; }
.xy-hero-status { position: absolute; z-index: 3; right: 0; bottom: 28px; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); width: min(720px, 62%); margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); list-style: none; }
.xy-hero-status li { display: flex; align-items: center; gap: 14px; padding: 22px 28px 8px 0; }
.xy-hero-status li > i { position: relative; width: 13px; height: 13px; flex: 0 0 auto; border: 1px solid var(--xy-cyan); border-radius: 50%; }
.xy-hero-status li > i::after { position: absolute; inset: 3px; border-radius: inherit; background: var(--xy-cyan); content: ""; }
.xy-hero-status b,
.xy-hero-status small { display: block; }
.xy-hero-status b { font-size: 14px; }
.xy-hero-status small { margin-top: 3px; color: rgba(255,255,255,.42); font-size: 9px; letter-spacing: .15em; }
.xy-first-ad { position: relative; z-index: 4; background: #dce4e4; }

/* Signal map */
.xy-signal-map { background: linear-gradient(180deg, #eef2f1 0%, #f8f8f5 100%); }
.xy-map-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: end; gap: 70px; margin-bottom: 58px; }
.xy-map-head h2 { max-width: 760px; font-size: clamp(43px, 3.65vw, 47px); }
.xy-map-head > p { margin: 0 0 4px; color: #61737a; font-size: 16px; line-height: 1.9; }
.xy-map-board { position: relative; display: grid; grid-template-columns: 330px minmax(0, 1fr); min-height: 520px; overflow: hidden; border: 1px solid var(--xy-line); background: #fff; }
.xy-map-core { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 52px; aspect-ratio: 1; border: 1px solid rgba(33,186,208,.36); border-radius: 50%; background: #09202a; color: #fff; box-shadow: 0 0 0 22px rgba(44,201,220,.07), 0 0 0 52px rgba(44,201,220,.035); text-align: center; }
.xy-map-core::before { position: absolute; inset: 17px; border: 1px dashed rgba(133,234,244,.33); border-radius: inherit; content: ""; }
.xy-map-core small { color: var(--xy-cyan); font-size: 10px; letter-spacing: .22em; }
.xy-map-core strong { margin-top: 12px; font-size: 29px; letter-spacing: -.05em; }
.xy-map-core span { margin-top: 8px; color: rgba(255,255,255,.56); font-size: 11px; }
.xy-map-line { position: absolute; z-index: 1; top: 50%; left: 270px; width: calc(100% - 330px); height: 1px; background: linear-gradient(90deg, var(--xy-cyan), rgba(8,127,146,.13)); }
.xy-map-line i { position: absolute; top: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--xy-cyan); box-shadow: 0 0 12px rgba(56,217,240,.6); }
.xy-map-line i:nth-child(1) { left: 12%; }
.xy-map-line i:nth-child(2) { left: 38%; }
.xy-map-line i:nth-child(3) { left: 64%; background: var(--xy-amber); }
.xy-map-line i:nth-child(4) { left: 90%; }
.xy-map-nodes { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin: 0; padding: 30px; list-style: none; }
.xy-map-nodes li { display: flex; gap: 20px; min-height: 230px; padding: 34px 30px; border-left: 1px solid var(--xy-line); }
.xy-map-nodes li:nth-child(-n+2) { border-bottom: 1px solid var(--xy-line); }
.xy-map-nodes em { color: #0d899b; font-size: 11px; font-style: normal; font-weight: 900; letter-spacing: .13em; }
.xy-map-nodes h3 { margin: 56px 0 10px; font-size: 24px; letter-spacing: -.04em; }
.xy-map-nodes p { margin: 0; color: #708087; font-size: 14px; line-height: 1.75; }

/* Sticky narrative dispatch */
.xy-hub { padding-top: 0; background: #07161f; color: #eefbfc; }
.xy-hub-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 60px; padding-top: 120px; }
.xy-hub-index { position: sticky; top: 122px; align-self: start; padding: 12px 0 80px; }
.xy-hub-index .city-eyebrow { color: var(--xy-cyan); }
.xy-hub-index h2 { font-size: 44px; line-height: 1.08; }
.xy-hub-index > p:not(.city-eyebrow) { margin: 24px 0 38px; color: rgba(225,242,244,.58); font-size: 14px; line-height: 1.9; }
.xy-hub-index ol { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.12); list-style: none; }
.xy-hub-index li { border-bottom: 1px solid rgba(255,255,255,.12); }
.xy-hub-index a { position: relative; display: grid; grid-template-columns: 42px 1fr 10px; align-items: center; min-height: 68px; color: rgba(225,242,244,.48); text-decoration: none; transition: color .25s ease; }
.xy-hub-index a i { font-size: 10px; font-style: normal; letter-spacing: .12em; }
.xy-hub-index a span { font-size: 14px; font-weight: 800; }
.xy-hub-index a b { width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; }
.xy-hub-index li.is-current a { color: var(--xy-cyan-soft); }
.xy-hub-index li.is-current a::before { position: absolute; left: 0; bottom: -1px; width: 42%; height: 2px; background: var(--xy-cyan); content: ""; }
.xy-hub-index li.is-current a b { border-color: var(--xy-cyan); background: var(--xy-cyan); box-shadow: 0 0 12px var(--xy-cyan); }
.xy-hub-stream { min-width: 0; }
.xy-dispatch-card { margin-bottom: 86px; padding: clamp(34px,5vw,70px); border: 1px solid rgba(255,255,255,.12); background: #f6f5f0; color: var(--xy-ink); }
.xy-card-top > p:first-child { display: flex; align-items: center; gap: 12px; margin: 0 0 28px; color: #0d8395; font-size: 10px; letter-spacing: .16em; }
.xy-card-top > p:first-child span { padding: 8px 9px; background: #d9f4f4; font-weight: 900; }
.xy-card-top > p:first-child b { font-size: 10px; }
.xy-card-top h2 { font-size: clamp(43px, 3.65vw, 47px); }
.xy-card-top > p:last-child { max-width: 760px; margin: 24px 0 34px; color: #617279; font-size: 16px; line-height: 1.9; }
.xy-dispatch-card figure { margin: 0; overflow: hidden; background: #0a1820; }
.xy-dispatch-card figure img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.xy-dispatch-card figcaption { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: #0b2029; color: rgba(239,251,252,.68); font-size: 11px; letter-spacing: .08em; }
.xy-dispatch-card figcaption i { width: 38px; height: 1px; background: linear-gradient(90deg,var(--xy-cyan),var(--xy-amber)); }
.xy-fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 26px; border-top: 1px solid var(--xy-line); border-left: 1px solid var(--xy-line); }
.xy-fact-grid section { min-height: 210px; padding: 26px; border-right: 1px solid var(--xy-line); border-bottom: 1px solid var(--xy-line); }
.xy-fact-grid i { color: #0b8c9f; font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .16em; }
.xy-fact-grid h3 { margin: 43px 0 10px; font-size: 22px; }
.xy-fact-grid p { margin: 0; color: #6d7c82; font-size: 13px; line-height: 1.8; }
.xy-caution { margin: 24px 0 0; padding: 16px 18px; border-left: 3px solid var(--xy-amber); background: #ecece6; color: #586970; font-size: 13px; line-height: 1.8; }
.xy-card-dark { background: #0b2029; color: #f2fbfc; }
.xy-card-dark .xy-card-top > p:last-child { color: rgba(224,241,243,.64); }
.xy-card-dark .xy-card-top > p:first-child { color: var(--xy-cyan); }
.xy-card-dark .xy-card-top > p:first-child span { background: rgba(56,217,240,.13); }
.xy-card-dark figure { border: 1px solid rgba(255,255,255,.12); }
.xy-ledger-route { display: grid; grid-template-columns: repeat(4, 1fr); margin: 28px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.13); border-left: 1px solid rgba(255,255,255,.13); list-style: none; }
.xy-ledger-route li { min-height: 210px; padding: 25px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); }
.xy-ledger-route i { color: var(--xy-cyan); font-size: 10px; font-style: normal; font-weight: 900; }
.xy-ledger-route h3 { margin: 52px 0 10px; font-size: 19px; }
.xy-ledger-route p { margin: 0; color: rgba(224,241,243,.54); font-size: 12px; line-height: 1.7; }
.xy-change-card { margin-bottom: 0; }
.xy-change-wheel { position: relative; display: grid; grid-template-columns: 230px minmax(0,1fr); min-height: 340px; margin: 40px 0 28px; overflow: hidden; border: 1px solid var(--xy-line); background: #eceeea; }
.xy-change-wheel > div { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 210px; aspect-ratio: 1; align-self: center; justify-self: center; border: 1px solid rgba(11,139,158,.34); border-radius: 50%; background: #071922; color: #fff; box-shadow: 0 0 0 22px rgba(11,139,158,.06); }
.xy-change-wheel > div::after { position: absolute; inset: 24px; border: 1px dashed rgba(56,217,240,.3); border-radius: 50%; content: ""; }
.xy-change-wheel > div small { color: var(--xy-cyan); font-size: 9px; letter-spacing: .18em; }
.xy-change-wheel > div b { margin-top: 9px; font-size: 24px; }
.xy-change-wheel ul { display: grid; grid-template-columns: repeat(2,1fr); align-content: center; gap: 1px; margin: 0; padding: 40px; list-style: none; }
.xy-change-wheel li { position: relative; padding: 20px 24px 20px 38px; background: rgba(255,255,255,.7); font-size: 14px; font-weight: 800; }
.xy-change-wheel li::before { position: absolute; left: 17px; top: 25px; width: 8px; height: 8px; border-radius: 50%; background: #0b91a4; box-shadow: 0 0 0 5px rgba(11,145,164,.09); content: ""; }
.xy-service-links { border-top: 1px solid var(--xy-line); }
.xy-service-links a { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 18px; min-height: 98px; border-bottom: 1px solid var(--xy-line); text-decoration: none; transition: background .2s ease, padding .2s ease; }
.xy-service-links a:hover { padding: 0 16px; background: #e9efed; }
.xy-service-links > a > i { color: #0a8a9c; font-size: 10px; font-style: normal; letter-spacing: .12em; }
.xy-service-links span b,
.xy-service-links span small { display: block; }
.xy-service-links span b { font-size: 18px; }
.xy-service-links span small { margin-top: 7px; color: #77868b; }
.xy-service-links em { color: #0a8295; font-size: 12px; font-style: normal; font-weight: 800; }

/* Four current platform workspaces */
.xy-platform { background: #dfe8e8; }
.xy-platform-head { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 60px; align-items: start; margin-bottom: 46px; }
.xy-platform-head h2 { max-width: 800px; font-size: clamp(43px,3.65vw,47px); }
.xy-platform-head div > p { max-width: 840px; margin: 22px 0 0; color: #5c6e74; font-size: 15px; line-height: 1.9; }
.xy-platform-stage { display: grid; grid-template-columns: minmax(0,1.26fr) minmax(340px,.74fr); background: #071922; }
.xy-platform-stage figure { position: relative; min-width: 0; margin: 0; padding: 26px; }
.xy-platform-stage figure img { display: block; width: 100%; height: auto; border: 1px solid rgba(255,255,255,.13); }
.xy-platform-stage figcaption { display: flex; justify-content: space-between; padding-top: 15px; color: rgba(255,255,255,.52); font-size: 10px; letter-spacing: .12em; }
.xy-platform-stage figcaption b { color: var(--xy-cyan); }
.xy-workspaces { border-left: 1px solid rgba(255,255,255,.12); }
.xy-workspaces article { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 20px; min-height: 151px; padding: 27px; border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; }
.xy-workspaces article:last-child { border-bottom: 0; }
.xy-workspaces i { color: var(--xy-cyan); font-size: 10px; font-style: normal; letter-spacing: .14em; }
.xy-workspaces h3 { margin: 0 0 11px; font-size: 21px; }
.xy-workspaces p { margin: 0; color: rgba(230,244,246,.58); font-size: 13px; line-height: 1.75; }

/* Local article index */
.xy-field-notes { background: #f5f4ef; }
.xy-notes-head { display: grid; grid-template-columns: 200px minmax(0,1.3fr) minmax(280px,.7fr); align-items: end; gap: 38px; margin-bottom: 48px; }
.xy-notes-head h2 { font-size: clamp(43px,3.65vw,47px); }
.xy-notes-head > p:last-child { margin: 0 0 4px; color: #64757a; font-size: 14px; line-height: 1.85; }
.xy-notes-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--xy-line); border-left: 1px solid var(--xy-line); }
.xy-notes-grid > a { display: flex; flex-direction: column; min-height: 390px; padding: 30px; border-right: 1px solid var(--xy-line); border-bottom: 1px solid var(--xy-line); text-decoration: none; transition: background .25s ease, color .25s ease; }
.xy-notes-grid > a:hover { background: #0b2029; color: #fff; }
.xy-notes-grid > a > span { display: flex; justify-content: space-between; color: #0b8799; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.xy-notes-grid > a > span i,
.xy-notes-grid > a > span em { font-style: normal; }
.xy-notes-grid h3 { margin: 65px 0 18px; font-size: 22px; line-height: 1.45; letter-spacing: -.025em; }
.xy-notes-grid p { margin: 0; color: #748288; font-size: 13px; line-height: 1.7; }
.xy-notes-grid b { margin-top: auto; color: #0a8193; font-size: 12px; }
.xy-notes-grid > a:hover p { color: rgba(232,245,246,.58); }
.xy-notes-grid > a:hover b { color: var(--xy-cyan); }

/* Outbound content and inbound inquiry */
.xy-growth { background: #07151f; color: #fff; }
.xy-growth-grid { display: grid; grid-template-columns: minmax(340px,.76fr) minmax(0,1.24fr); gap: 70px; align-items: center; }
.xy-growth-copy .city-eyebrow { color: var(--xy-cyan); }
.xy-growth-copy h2 { font-size: clamp(43px,3.65vw,47px); }
.xy-growth-copy > p:not(.city-eyebrow) { margin: 26px 0 34px; color: rgba(232,246,247,.63); font-size: 15px; line-height: 1.95; }
.xy-product-links { border-top: 1px solid rgba(255,255,255,.14); }
.xy-product-links a { display: block; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.14); text-decoration: none; }
.xy-product-links small,
.xy-product-links b { display: flex; align-items: center; justify-content: space-between; }
.xy-product-links small { color: rgba(255,255,255,.46); }
.xy-product-links b { margin-top: 8px; font-size: 15px; }
.xy-product-links i { color: var(--xy-cyan); font-style: normal; }
.xy-growth figure { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.13); }
.xy-growth figure img { display: block; width: 100%; height: auto; }
.xy-growth figcaption { display: flex; align-items: center; gap: 14px; padding: 14px 18px; color: rgba(255,255,255,.52); font-size: 10px; letter-spacing: .09em; }
.xy-growth figcaption i { width: 30px; height: 1px; background: linear-gradient(90deg,var(--xy-cyan),var(--xy-amber)); }

/* FAQ and close */
.xy-faq { background: #eef1ef; }
.xy-faq-grid { display: grid; grid-template-columns: minmax(310px,.72fr) minmax(0,1.28fr); gap: 90px; }
.xy-faq-head { position: sticky; top: 122px; align-self: start; }
.xy-faq-head h2 { font-size: clamp(43px,3.65vw,47px); }
.xy-faq-head > p:last-child { margin: 24px 0 0; color: #68797e; line-height: 1.85; }
.xy-faq-list { border-top: 1px solid var(--xy-line); }
.xy-faq-list details { border-bottom: 1px solid var(--xy-line); }
.xy-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 94px; padding: 19px 0; cursor: pointer; list-style: none; font-size: 17px; font-weight: 850; }
.xy-faq-list summary::-webkit-details-marker { display: none; }
.xy-faq-list summary span { display: flex; align-items: center; gap: 18px; }
.xy-faq-list summary i { color: #0a8496; font-size: 10px; font-style: normal; letter-spacing: .1em; }
.xy-faq-list summary b { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border: 1px solid var(--xy-line); border-radius: 50%; color: #0a8496; font-size: 19px; font-weight: 400; transition: transform .25s ease; }
.xy-faq-list details[open] summary b { transform: rotate(45deg); }
.xy-faq-list details p { margin: -2px 52px 27px 47px; color: #63757b; font-size: 14px; line-height: 1.9; }
.xy-final-ad { background: #050e15; }
.xy-final { background: #06151e; }
.xy-final-inner { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 80px; align-items: end; }
.xy-final small { color: var(--xy-cyan); font-size: 10px; letter-spacing: .18em; }
.xy-final h2 { max-width: 770px; margin: 16px 0 0; font-size: clamp(43px,3.65vw,47px); line-height: 1.08; letter-spacing: -.055em; }
.xy-final p { margin: 0; color: rgba(234,246,248,.62); line-height: 1.9; }

@media (max-width: 1080px) {
  .xy-orbit { right: 0; opacity: .6; }
  .xy-map-head,
  .xy-platform-head,
  .xy-notes-head { grid-template-columns: 1fr; gap: 22px; }
  .xy-map-board { grid-template-columns: 280px minmax(0,1fr); }
  .xy-map-core { margin: 38px; }
  .xy-map-line { left: 230px; }
  .xy-hub-layout { grid-template-columns: 250px minmax(0,1fr); gap: 36px; }
  .xy-ledger-route { grid-template-columns: repeat(2,1fr); }
  .xy-platform-stage { grid-template-columns: 1fr; }
  .xy-workspaces { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .xy-workspaces article:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.12); }
  .xy-notes-grid { grid-template-columns: repeat(2,1fr); }
  .xy-growth-grid { gap: 40px; }
  .xy-faq-grid { gap: 50px; }
}

@media (max-width: 820px) {
  .page-xiangyang .city-shell { width: min(100% - 32px,1240px); }
  .xy-hero-copy { width: min(650px, 82%); }
  .xy-orbit { display: none; }
  .xy-map-board { display: block; }
  .xy-map-core { width: 250px; margin: 38px auto 30px; }
  .xy-map-line { display: none; }
  .xy-map-nodes { padding-top: 0; }
  .xy-map-nodes li:nth-child(odd) { border-left: 0; }
  .xy-hub-layout { display: block; padding-top: 90px; }
  .xy-hub-index { position: relative; top: auto; padding-bottom: 40px; }
  .xy-hub-index h2 { max-width: 600px; }
  .xy-hub-index ol { display: grid; grid-template-columns: repeat(3,1fr); }
  .xy-hub-index li { border-right: 1px solid rgba(255,255,255,.12); }
  .xy-hub-index a { grid-template-columns: 30px 1fr; padding: 0 12px; }
  .xy-hub-index a b { display: none; }
  .xy-fact-grid { grid-template-columns: 1fr; }
  .xy-fact-grid section { min-height: 170px; }
  .xy-fact-grid h3 { margin-top: 30px; }
  .xy-change-wheel { grid-template-columns: 1fr; padding-top: 25px; }
  .xy-change-wheel ul { padding: 30px; }
  .xy-growth-grid,
  .xy-faq-grid,
  .xy-final-inner { grid-template-columns: 1fr; }
  .xy-faq-head { position: relative; top: auto; }
}

@media (max-width: 700px) {
  .page-xiangyang .city-shell { width: min(100% - 28px,1240px); }
  .page-xiangyang .city-section { padding: 78px 0; }
  .xy-hero,
  .xy-hero-shell { min-height: 720px; }
  .xy-hero-media img { object-position: center bottom; }
  .xy-hero-shade { background: linear-gradient(180deg, rgba(2,11,19,.9) 0%, rgba(2,11,19,.74) 48%, rgba(2,11,19,.28) 78%, rgba(2,11,19,.64) 100%); }
  .xy-crumb { padding-top: 16px; color: rgba(255,255,255,.62); }
  .xy-hero-copy { width: 100%; padding: 64px 0 130px; }
  .xy-hero-copy h1 { max-width: 100%; font-size: 39px; line-height: 1.08; letter-spacing: -.055em; }
  .xy-lead { max-width: 350px; margin-top: 20px; font-size: 14px; line-height: 1.75; }
  .xy-hero-actions { margin-top: 24px; }
  .xy-hero-actions a { min-width: 0; min-height: 48px; padding: 0 15px; font-size: 12px; }
  .xy-hero-status { right: 14px; bottom: 20px; left: 14px; width: auto; }
  .xy-hero-status li { gap: 8px; padding-right: 6px; }
  .xy-hero-status li > i { width: 10px; height: 10px; }
  .xy-hero-status li > i::after { inset: 2px; }
  .xy-hero-status b { font-size: 11px; }
  .xy-hero-status small { display: none; }
  .xy-map-head { margin-bottom: 34px; }
  .xy-map-head h2,
  .xy-card-top h2,
  .xy-platform-head h2,
  .xy-notes-head h2,
  .xy-growth-copy h2,
  .xy-faq-head h2 { font-size: 32px; line-height: 1.12; }
  .xy-map-head > p { font-size: 14px; }
  .xy-map-board { min-height: 0; }
  .xy-map-core { width: 208px; }
  .xy-map-nodes { grid-template-columns: 1fr; padding: 0 18px 18px; }
  .xy-map-nodes li { min-height: 165px; padding: 24px 18px; border-left: 0; border-bottom: 1px solid var(--xy-line); }
  .xy-map-nodes li:nth-child(3) { border-bottom: 1px solid var(--xy-line); }
  .xy-map-nodes h3 { margin-top: 26px; }
  .xy-hub-layout { padding-top: 78px; }
  .xy-hub-index h2 { font-size: 32px; }
  .xy-hub-index > p:not(.city-eyebrow) { margin-bottom: 24px; }
  .xy-hub-index ol { grid-template-columns: 1fr; }
  .xy-hub-index li { border-right: 0; }
  .xy-hub-index a { min-height: 54px; }
  .xy-dispatch-card { margin-bottom: 44px; padding: 26px 18px; }
  .xy-card-top > p:last-child { font-size: 14px; line-height: 1.82; }
  .xy-dispatch-card figcaption { gap: 8px; overflow: hidden; font-size: 9px; white-space: nowrap; }
  .xy-dispatch-card figcaption i { width: 12px; }
  .xy-fact-grid section { padding: 22px; }
  .xy-ledger-route { grid-template-columns: 1fr; }
  .xy-ledger-route li { min-height: 145px; }
  .xy-ledger-route h3 { margin-top: 24px; }
  .xy-change-wheel { margin-top: 28px; }
  .xy-change-wheel > div { width: 180px; }
  .xy-change-wheel ul { grid-template-columns: 1fr; padding: 24px 18px; }
  .xy-service-links a { grid-template-columns: 34px minmax(0,1fr); gap: 10px; min-height: 108px; }
  .xy-service-links em { display: none; }
  .xy-service-links span small { font-size: 11px; }
  .xy-platform-head { margin-bottom: 30px; }
  .xy-platform-stage figure { padding: 12px; }
  .xy-workspaces { grid-template-columns: 1fr; }
  .xy-workspaces article:nth-child(odd) { border-right: 0; }
  .xy-workspaces article { min-height: 135px; padding: 22px; }
  .xy-notes-grid { grid-template-columns: 1fr; }
  .xy-notes-grid > a { min-height: 330px; padding: 24px; }
  .xy-notes-grid h3 { margin-top: 42px; font-size: 20px; }
  .xy-growth-grid { gap: 38px; }
  .xy-growth-copy > p:not(.city-eyebrow) { font-size: 14px; }
  .xy-faq-grid { gap: 40px; }
  .xy-faq-list summary { min-height: 88px; font-size: 15px; line-height: 1.5; }
  .xy-faq-list summary span { gap: 10px; }
  .xy-faq-list summary b { width: 30px; height: 30px; }
  .xy-faq-list details p { margin: 0 0 24px 26px; font-size: 13px; }
  .xy-final-inner { gap: 28px; }
  .xy-final h2 { font-size: 34px; }
  .xy-final p { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-xiangyang *,
  .page-xiangyang *::before,
  .page-xiangyang *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
}
