/* 中文正文断行优化：pretty 只在末尾避免「孤字行」，不改变段落填充宽度；不支持的浏览器直接忽略，属渐进增强。*/
p,li,figcaption,dd,td,th{text-wrap:pretty}

.geo-page header{position:relative}
.geo-page main{width:min(calc(100% - 2 * var(--gutter)),var(--page-width));margin:auto;padding:0}
.geo-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:10%;min-height:650px;padding:65px 0 110px}
.geo-hero::before{content:"";position:absolute;inset:-50px -6vw -80px;z-index:-1;pointer-events:none;background:url('assets/business-atmosphere.webp') center/cover no-repeat;opacity:.23;mask-image:linear-gradient(transparent,#000 25%,#000 65%,transparent)}
.back-link{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:13px;margin-bottom:35px}
.back-link:hover,.text-link:hover{color:white}
.geo-page h1{font-size:clamp(42px,4.5vw,66px);line-height:1.28;font-weight:500;letter-spacing:0;margin:0 0 28px}
.geo-intro>p{font-size:16px;color:var(--muted);line-height:1.9;max-width:31em;margin:0}
.geo-actions{display:flex;align-items:center;gap:28px;margin-top:36px}
.text-link{font-size:14px;color:#d2ddec;padding:12px 0;display:inline-block}
.geo-word{display:block;font-size:clamp(100px,13vw,184px);letter-spacing:-.03em;line-height:.9;font-weight:500;color:#c3d3e9}
.geo-name{font-size:17px;color:#bdc9db;margin:22px 0 40px;letter-spacing:.1em}
.geo-map{border-top:0;background-image:var(--rule);background-size:100% 1px;background-position:left top;background-repeat:no-repeat;padding-top:15px}
.geo-map p{display:flex;justify-content:space-between;gap:16px;margin:16px 0;font-size:13px;color:var(--muted)}
.geo-map p span:first-child{color:#e0e8f2}
.geo-services{display:grid;grid-template-columns:.8fr 1.7fr;gap:8%;padding:95px 0 120px;border-top:0;background-image:var(--rule);background-size:100% 1px;background-position:left top;background-repeat:no-repeat;scroll-margin-top:20px}
.geo-page h2{font-size:clamp(27px,2.6vw,38px);font-weight:500;line-height:1.4;letter-spacing:0;margin:0 0 22px}
.geo-section-intro>p:not(.kicker){font-size:1rem;color:var(--muted);line-height:1.9;max-width:19em;margin:0}
.service-list article{display:grid;grid-template-columns:170px 1fr;gap:30px;padding:0 0 42px;scroll-margin-top:45px}
.service-list article+article{padding-top:44px;border-top:0;background-image:var(--rule);background-size:100% 1px;background-position:left top;background-repeat:no-repeat}
.service-list article:last-child{padding-bottom:0}
.service-list h3{font-size:22px;font-weight:500;line-height:1.5;margin:0;color:#d6e3f5}
.service-list .num{display:block;font-size:13px;color:#96abc7;font-variant-numeric:tabular-nums;letter-spacing:.12em;margin-bottom:10px}
.service-list article:hover .num{color:var(--blue)}
.service-list p{font-size:1rem;line-height:1.85;color:var(--muted);margin:0;max-width:32em}/* 编号与标题各占一格后，描述块必须显式回到宽列，否则会被自动排进 170px 的编号列。 */
.service-list article>div{grid-column:2}
.service-list ul{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.8125rem;line-height:1.7;color:#b9cbe4}
.geo-process{padding:85px 0 100px;border-top:0;background-image:var(--rule);background-size:100% 1px;background-position:left top;background-repeat:no-repeat}
.process-heading{display:flex;align-items:end;justify-content:space-between;gap:45px}
.process-heading>p:not(.kicker){max-width:24em;color:var(--muted);font-size:1rem;line-height:1.8;margin-bottom:22px}
.geo-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;list-style:none;margin:52px 0 0;padding:0}
.step{font-size:18px;color:#96abc7;font-variant-numeric:tabular-nums;display:block;margin-bottom:22px}
.step::before{content:'';display:block;width:24px;height:1px;background:var(--line-strong);margin-bottom:14px}
.geo-process h3{font-weight:500;font-size:23px;margin:0 0 17px}
.geo-process li p{font-size:1rem;line-height:1.9;color:var(--muted);margin:0;max-width:24em}
.geo-next{position:relative;isolation:isolate;padding:100px 0;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:0;background-image:var(--rule);background-size:100% 1px;background-position:left top;background-repeat:no-repeat}
.geo-next::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/business-atmosphere.webp') center 70%/cover;opacity:.17;mask-image:linear-gradient(transparent,#000,transparent)}
.geo-next p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}
.geo-next .entry{flex-shrink:0}
@media(max-width:1000px){.geo-hero{gap:6%;min-height:580px}.geo-services{grid-template-columns:1fr;gap:45px}.geo-section-intro>p:not(.kicker){max-width:35em}.geo-process ol{gap:28px}}
@media(max-width:700px){.geo-page main{padding:0}.geo-page header nav{gap:18px}.geo-hero{grid-template-columns:1fr;gap:65px;padding:35px 0 70px;min-height:auto}.geo-page h1{font-size:clamp(38px,9vw,55px)}.geo-intro>p{font-size:1rem}.geo-overview{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:center}.geo-word{font-size:70px}.geo-name{margin:0;font-size:14px;letter-spacing:0}.geo-map{grid-column:1/-1;margin-top:28px}.geo-services{padding:60px 0 70px}.service-list article{grid-template-columns:1fr;gap:17px;padding-bottom:30px}.service-list article>div{grid-column:auto}.service-list article+article{padding-top:28px}.service-list h3{font-size:23px}.geo-process{padding:55px 0 65px}.process-heading{display:block}.geo-process ol{grid-template-columns:1fr;gap:32px;margin-top:35px}.geo-process li{display:grid;grid-template-columns:30px 1fr;column-gap:20px}.step{grid-row:1/3;margin-top:6px}.geo-process li p{grid-column:2}.geo-process h3{margin-bottom:12px}.geo-next{padding:65px 0;align-items:start;flex-direction:column}.geo-actions{gap:24px}.geo-page h2{font-size:29px}}

@media(max-width:380px){.geo-page header nav{gap:12px}.geo-actions{gap:18px;flex-wrap:wrap}.geo-map p{font-size:.75rem}/* 320px 内容宽约 257px：29px 字阶每行只放 8 字，会把「在每一轮反馈中向前。」「从一次品牌诊断开始。」挤成 2 字尾行；收到 25px 后每行 10 字，可整行落下。*/.geo-page h2{font-size:25px}}

/* 330px 以下内容宽不足 250px：25px 仍只放 9 字，再收到 23px（每行 10 字），避免「在每一轮反馈中向前。」等短句被挤成 2 字尾行。*/
@media(max-width:330px){.geo-page h2{font-size:23px}}


@media(max-width:1000px){.process-heading{display:block}.process-heading>p:not(.kicker){max-width:36em}}

/* 这里原本是 #capability「能力地图」整屏（`.capability` 系列规则 + 两条断点 + 一条
   prefers-reduced-motion），连同两个子页里的同名 section 一起删掉了。
   删它的原因不是不好看，是它把同一件事讲了第三遍：
     · .geo-network 六节点 = 六个词
     · .service-list 六篇   = 同一个六个词 + 每篇 3 个标签
     · .capability 三条层带 = 同一个六个词按「三层」重新分组 + 每带 4 个标签
   而「三层」这个分法在 .geo-process（三步）和 service-* 导语里已经各说过一次，
   再加一道分组小标题就是把刚删掉的东西换个地方写回来——所以这里留空，不替补。
   配套的入场观察在 service-visuals.js 里一并删了（原本就有 bands.length 守卫，
   即使遗留也不会报错，只是跑一段永不命中的空循环）。 */
