/* GEO-WEB-R5-02: all layout rules confined to the four bj-r5 candidate pages. */
html:has(body.bj-r5){scroll-behavior:auto}
body.bj-r5{margin:0;padding:0;background:#f5f6f2;color:#202621;font:16px/1.7 "Microsoft YaHei","PingFang SC",sans-serif}
.bj-r5 *{box-sizing:border-box}
.bj-r5 :is(h1,h2,h3,p,a,button,figcaption){font-family:inherit}
.bj-r5 a,.bj-r5 button{touch-action:manipulation}
.bj-r5 button{font:inherit;cursor:pointer}
.bj-r5 :is(a,button):focus-visible{outline:3px solid #175cc3;outline-offset:4px}
.bj-r5 .site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #d9ded6}
.bj-r5 .site-header .nav-wrap{max-width:1180px;min-height:82px;gap:18px}
.bj-r5 .site-header .brand img{width:44px;height:44px;object-fit:contain}
.bj-r5 .site-header .brand span{font-size:22px;line-height:1.2}
.bj-r5 .site-header .brand small{font-size:10px}
.bj-r5 .site-header .nav-links{display:flex;gap:16px}
.bj-r5 .site-header a{min-height:44px;display:inline-flex;align-items:center}
.bj-r5 .site-header .brand{display:flex}
.bj-r5 .site-header .nav-links a{font-size:13px}
.bj-r5 .site-header .nav-links a[aria-current=page]{color:#175cc3}
.bj-r5 .site-header .menu-btn{display:none;min-width:44px;min-height:44px}
.bj-r5 .bj-content{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:0}
.bj-r5 .bj-hero{display:flex;gap:50px;align-items:center;padding:78px 0 72px}
.bj-r5 .bj-hero-copy{flex:1;min-width:0}
.bj-r5 .bj-kicker{font-size:13px;color:#175cc3;letter-spacing:1.1px;margin:0 0 18px}
.bj-r5 .bj-hero h1{font-size:clamp(38px,4.5vw,66px);line-height:1.28;letter-spacing:-2px;margin:0 0 26px;font-weight:700;overflow-wrap:normal}
.bj-r5[data-page=digital] .bj-hero h1,.bj-r5[data-page=geo] .bj-hero h1{font-size:clamp(38px,4.1vw,56px)}
.bj-r5 .bj-description{font-size:17px;color:#5d665f;max-width:540px;margin:0 0 28px}
.bj-r5 .bj-hero-work{width:49%;margin:0;background:#fff;padding:12px;border:1px solid #e2e5df;transform:rotate(-1.4deg);box-shadow:0 20px 55px #18312310}
.bj-r5 .bj-hero-work img{display:block;width:100%;height:auto;object-fit:contain}
.bj-r5 .bj-hero-work figcaption{font-size:12px;color:#677268;padding:10px 4px 2px}
.bj-r5 .bj-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 22px}
.bj-r5 .bj-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 20px;border:1px solid #202621;background:transparent;color:#202621;font-weight:600;text-decoration:none}
.bj-r5 .bj-button.primary{color:#fff;background:#175cc3;border-color:#175cc3}
.bj-r5 .bj-region{font-size:12px;color:#677268;margin:0}
.bj-r5 .bj-section{padding:66px 0;border-top:1px solid #d9ded6;scroll-margin-top:110px}
.bj-r5 .bj-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.bj-r5 .bj-section-head h2{font-size:32px;line-height:1.4;letter-spacing:-.8px;margin:0}
.bj-r5 .bj-section-head a{font-size:13px;white-space:nowrap}
.bj-r5 .bj-section-head .bj-kicker{margin-bottom:10px}
.bj-r5 .bj-row{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.bj-r5 .bj-services .bj-row,.bj-r5 .bj-scope .bj-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.bj-r5 .bj-baseline .bj-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.bj-r5 .bj-item{min-width:0}
.bj-r5 .bj-services .bj-item{padding:30px;background:white;border:1px solid #dedfdb}
.bj-r5 .bj-services .bj-item:nth-child(2){background:#eaf0f9}
.bj-r5 .bj-item h3{font-size:20px;line-height:1.4;margin:12px 0}
.bj-r5 .bj-item p{font-size:15px;color:#5d665f;margin:12px 0 18px}
.bj-r5 .bj-item a,.bj-r5 .bj-text-action{font-size:14px;color:#175cc3;min-height:44px;display:inline-flex;align-items:center;padding:5px 0}
.bj-r5 .bj-case-image{display:flex;align-items:center;justify-content:center;background:#e8e9e4;aspect-ratio:3/2}
.bj-r5 .bj-case-image img{width:100%;height:100%;object-fit:contain}
.bj-r5 .bj-item .bj-tag{font-size:12px;color:#175cc3;margin:17px 0 5px}
.bj-r5 .bj-evidence .bj-row{gap:32px}
.bj-r5 .bj-evidence .bj-item{border-left:2px solid #175cc3;padding-left:18px}
.bj-r5 .bj-scope .bj-item{border-bottom:1px solid #dedfdb;padding:14px 0 24px}
.bj-r5 .bj-number{font-size:32px!important;color:#175cc3!important}
.bj-r5 .bj-value{font-size:38px!important;color:#175cc3!important;font-weight:600;line-height:1.2}
.bj-r5 .bj-section-desc{color:#5d665f;max-width:960px;margin:12px 0 24px}
.bj-r5 .bj-fact-stack{width:42%;background:#eaf0f9;border:1px solid #cbd7e8;padding:12px 30px}
.bj-r5 .bj-fact-stack>div{padding:20px 0;border-bottom:1px solid #cbd7e8}
.bj-r5 .bj-fact-stack>div:last-child{border:0}
.bj-r5 .bj-fact-stack span{font-size:12px;color:#175cc3}
.bj-r5 .bj-fact-stack h3{font-size:22px;margin:4px 0}
.bj-r5 .bj-fact-stack p{font-size:14px;color:#5d665f;margin:0}
.bj-r5 .bj-note{padding:35px 0 45px}
.bj-r5 .bj-note .bj-section-head{margin-bottom:14px}
.bj-r5 .bj-note h2{font-size:22px}
.bj-r5 .bj-note .bj-section-desc{font-size:14px;line-height:1.9}
.bj-r5 .bj-contact{background:#175cc3;color:#fff;padding:50px 6%;margin:30px 0 66px}
.bj-r5 .bj-contact h2{color:#fff;font-size:32px;line-height:1.4;margin:0 0 15px}
.bj-r5 .bj-contact p{color:#fff;font-size:15px;opacity:.9}
.bj-r5 .bj-contact .bj-button{background:white;color:#175cc3;border:0}
.bj-r5 .bj-contact small{display:block;margin-top:16px}
.bj-r5 .bj-copy-status{display:block;font-size:13px;margin-top:8px}
.bj-r5 .bj-toc{display:flex;gap:10px 20px;flex-wrap:wrap;padding:16px 0;margin-bottom:16px;border-top:1px solid #d9ded6}
.bj-r5 .bj-toc a{display:inline-flex;align-items:center;min-height:44px;color:#175cc3}
.bj-r5 .bj-related{font-size:14px;margin-top:24px}
.bj-r5 .bj-related a{display:inline-flex;align-items:center;min-height:44px;color:#175cc3;margin-right:8px}
.bj-r5 .bj-article>.bj-hero{padding-bottom:40px}
.bj-r5 .bj-article>.bj-hero+.bj-toc+.bj-section{padding-top:32px}
.bj-r5 .bj-anchor{display:block;scroll-margin-top:110px}
@media(max-width:1050px){
 .bj-r5 .site-header .nav-wrap{flex-wrap:wrap;gap:10px}
 .bj-r5 .site-header .nav-links{width:100%;flex-wrap:wrap;order:4}
 .bj-nav-ready .bj-r5 .site-header .nav-links{display:none}
 .bj-nav-ready .bj-r5 .site-header .nav-links.open{display:flex}
 .bj-nav-ready .bj-r5 .site-header .menu-btn{display:block;margin-left:auto}
 .bj-r5 .site-header .nav-cta{margin-left:0}
}
@media(max-width:850px){
 .bj-r5 .bj-content{width:calc(100% - 40px)}
 .bj-r5 .bj-hero{display:block;padding:50px 0 48px}
 .bj-r5 .bj-hero h1,.bj-r5[data-page=digital] .bj-hero h1,.bj-r5[data-page=geo] .bj-hero h1{font-size:42px}
 .bj-r5 .bj-hero-work,.bj-r5 .bj-fact-stack{width:100%;max-width:650px;margin-top:32px;transform:none}
 .bj-r5 .bj-row{gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .bj-r5 .bj-baseline .bj-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bj-r5 .bj-section-head h2{font-size:28px}
}
@media(max-width:620px){
 .bj-r5 .site-header .nav-wrap{width:calc(100% - 32px);min-height:76px}
 .bj-r5 .site-header .brand span{font-size:20px}
 .bj-r5 .site-header .brand small{font-size:9px}
 .bj-r5 .site-header .brand img{width:38px;height:38px}
 .bj-r5 .site-header .nav-cta{font-size:12px;padding:8px 10px}
 .bj-r5 .bj-hero{padding:45px 0 40px}
 .bj-r5 .bj-hero h1,.bj-r5[data-page=digital] .bj-hero h1,.bj-r5[data-page=geo] .bj-hero h1{font-size:36px;letter-spacing:-1px}
 .bj-r5 .bj-description{font-size:16px}
 .bj-r5 .bj-hero-work,.bj-r5 .bj-fact-stack{margin-top:28px}
 .bj-r5 .bj-section{padding:40px 0}
 .bj-r5 .bj-section-head{align-items:start;flex-direction:column;gap:12px}
 .bj-r5 .bj-section-head h2{font-size:26px}
 .bj-r5 .bj-row,.bj-r5 .bj-services .bj-row,.bj-r5 .bj-scope .bj-row{grid-template-columns:1fr}
 .bj-r5 .bj-baseline .bj-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bj-r5 .bj-services .bj-item{padding:25px}
 .bj-r5 .bj-item h3{font-size:21px}
 .bj-r5 .bj-evidence .bj-item{margin:10px 0}
 .bj-r5 .bj-baseline .bj-item h3{font-size:16px}
 .bj-r5 .bj-value{font-size:28px!important}
 .bj-r5 .bj-contact{margin-bottom:38px;padding:28px 24px}
 .bj-r5 .bj-contact h2{font-size:25px}
}

.bj-r5 .skip-link{position:fixed;left:16px;top:-100px;z-index:1100;padding:10px 18px;background:#fff;color:#202621}.bj-r5 .skip-link:focus{top:12px;outline:2px solid #175cc3;outline-offset:3px}
@media(max-width:620px){.bj-r5 .site-footer{padding-bottom:90px}.bj-r5 button.bj-back-top{width:48px;height:48px;min-width:48px;padding:0;font-size:0}.bj-r5 .bj-back-top::after{content:"↑";font-size:22px;line-height:48px}}
