/* Brand-positioning page only. Shared service pages retain their own styling. */
html body.elementor-page-3712 { background:#f8f8f4!important; }
html body.elementor-page-3712 :is(#content,.site-main,.entry-content,#post-3712) { background:#f8f8f4!important; }
html body:has(.positioning-page) #lcn { --lcn-bar-ink:#263f34!important; --lcn-logo-filter:brightness(0)!important; }
html body:has(.positioning-page) #lcn .lcn-bar { background:#fff!important; border-bottom:1px solid #e0e4dc!important; }
#bp-page.positioning-page {
 --pos-ink:#263f34; --pos-muted:#647269; --pos-accent:#37664d; --pos-paper:#f8f8f4;
 --pos-tint:#eef2e9; --pos-line:#d9e1d6; --pos-gutter:clamp(22px,5.5vw,88px);
 --pos-header:70px; --pos-nav:66px;
 background:var(--pos-paper); color:var(--pos-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
 -webkit-font-smoothing:antialiased; line-height:1.7; isolation:isolate;
}
.positioning-page *, .positioning-page *::before, .positioning-page *::after { box-sizing:border-box; }
#bp-page.positioning-page :is(h1,h2,h3,p,figure,ul,ol) { margin:0; padding:0; }
#bp-page.positioning-page :is(h1,h2) { font-family:"D-DIN", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; font-weight:400; letter-spacing:-.02em; line-height:1.45; color:var(--pos-ink); text-wrap:balance; }
#bp-page.positioning-page h2 { font-size:clamp(30px,3vw,46px); }
#bp-page.positioning-page h3 { font-family:inherit; color:var(--pos-ink); font-weight:500; font-size:23px; line-height:1.5; letter-spacing:-.02em; }
.positioning-page a { color:inherit; text-decoration:none; }
.positioning-page :is(a,button,summary):focus-visible { outline:3px solid #668d73; outline-offset:5px; }
.positioning-page :is(section[id],article[id]) { scroll-margin-top:calc(var(--pos-header) + var(--pos-nav) + 24px); }
.positioning-page [hidden] { display:none!important; }
.positioning-page img { display:block; max-width:100%; }
#bp-page.positioning-page .pos-eyebrow { color:var(--pos-accent); font-size:11px; font-weight:500; letter-spacing:.1em; line-height:1.7; }
.pos-wrap { width:100%; max-width:1440px; margin-inline:auto; padding-inline:var(--pos-gutter); }
.pos-section { padding-block:96px; }
.pos-tinted { background:var(--pos-tint); }
.pos-section-head { display:grid; grid-template-columns:1.1fr 1fr; gap:40px 88px; align-items:end; margin-bottom:48px; }
#bp-page.positioning-page .pos-section-head h2 { margin-top:18px; }
.pos-section-head > p, .pos-section-head > div > p:not(.pos-eyebrow) { font-size:16px; line-height:1.95; color:var(--pos-muted); max-width:38em; }
.pos-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 30px; }
.pos-button { display:inline-flex; gap:30px; align-items:center; justify-content:space-between; min-height:50px; padding:13px 24px; background:var(--pos-ink); border:1px solid var(--pos-ink); border-radius:6px; color:#fff!important; font-size:14px; transition:background .25s ease,transform .25s ease; }
.pos-button:hover { background:#37664d; color:#fff; }
.pos-button:active { transform:scale(.98); }
.pos-text-link { display:inline-flex; gap:24px; align-items:center; min-height:44px; padding-block:7px; border-bottom:1px solid #a5b7a6; font-size:14px; color:var(--pos-accent); }
.pos-text-link span { transition:transform .3s ease; }
.pos-text-link:hover span { transform:translate(2px,-2px); }
.pos-hero { display:grid; grid-template-columns:1.05fr 1fr; min-height:650px; max-width:1800px; margin-inline:auto; }
.pos-hero-copy { padding:68px 48px 50px var(--pos-gutter); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.pos-hero .pos-eyebrow span { display:block; margin-top:8px; color:#7e887d; font-size:10px; letter-spacing:.16em; }
#bp-page.positioning-page h1 { font-size:clamp(40px,4.6vw,68px); line-height:1.32; margin-top:32px; }
.pos-hero h1 span { color:#67846b; }
#bp-page.positioning-page .pos-hero-statement { margin-top:28px; color:var(--pos-ink); font-size:22px; line-height:1.8; }
#bp-page.positioning-page .pos-hero-description { margin-top:18px; font-size:15px; line-height:1.95; color:var(--pos-muted); max-width:30em; }
.pos-hero .pos-actions { margin-top:32px; }
.pos-hero-foot { display:flex; gap:20px; flex-wrap:wrap; width:100%; padding-top:24px; margin-top:40px; border-top:1px solid var(--pos-line); font-size:11px; color:#6e7c70; letter-spacing:.04em; }
.pos-hero-art { position:relative; min-width:0; overflow:hidden; background:#393d32; }
.pos-hero-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% center; }
.pos-hero-art::after { content:''; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#1b2c28a6); pointer-events:none; }
.pos-hero-art figcaption { position:absolute; z-index:1; bottom:34px; left:36px; right:36px; display:flex; flex-direction:column; gap:8px; color:#fff; font-size:12px; }
.pos-hero-art figcaption span:first-child { font-size:10px; letter-spacing:.13em; }
.pos-nav { position:sticky; top:var(--pos-header); z-index:30; display:flex; align-items:center; min-height:var(--pos-nav); padding:10px var(--pos-gutter); gap:32px; background:#f8f8f4f5; backdrop-filter:blur(12px); border-block:1px solid var(--pos-line); }
.pos-nav-title { font-size:16px; white-space:nowrap; }
.pos-nav-links { display:flex; justify-content:flex-end; flex:1; min-width:0; gap:28px; overflow-x:auto; scrollbar-width:none; }
.pos-nav-links::-webkit-scrollbar { display:none; }
.pos-nav-links a { position:relative; flex:none; min-height:44px; display:flex; align-items:center; font-size:12px; color:var(--pos-muted); white-space:nowrap; border-bottom:2px solid transparent; }
.pos-nav-links a[aria-current] { color:var(--pos-accent); border-color:var(--pos-accent); }
.pos-nav-contact { display:flex; align-items:center; gap:20px; min-height:44px; flex:none; font-size:12px; color:var(--pos-accent); }
.pos-perspective { display:grid; grid-template-columns:1fr 1.05fr; gap:70px; align-items:center; }
.pos-diagram { background:#eef2e9; border-radius:16px; padding:30px; }
.pos-diagram svg { display:block; width:100%; height:auto; }
.pos-diagram text { text-anchor:middle; fill:#365640; font:15px "Microsoft YaHei",sans-serif; }
.pos-diagram text.pos-diagram-center { font-size:12px; fill:#fff; }
.pos-principles article { display:grid; grid-template-columns:32px 1fr; gap:18px; padding:25px 0; border-top:1px solid var(--pos-line); }
.pos-principles article:first-child { padding-top:0; border:0; }
.pos-principles article > span { font-size:11px; color:#66876b; padding-top:7px; }
#bp-page.positioning-page .pos-principles p { color:var(--pos-muted); font-size:15px; line-height:1.9; margin-top:12px; }
.pos-method-list { list-style:none; border-top:1px solid #bfcfbe; }
.pos-method-list li { display:grid; grid-template-columns:48px 1fr 1.5fr .95fr; align-items:center; gap:32px; padding:32px 0; border-bottom:1px solid #cfd9cb; }
.pos-step { font-family:Georgia,serif; font-size:28px; color:#789479; }
.pos-small { display:block; font-size:9px; letter-spacing:.11em; color:#7c8a7c; margin-top:8px; }
.pos-method-list li > p { color:#596c5d; font-size:14px; line-height:1.95; }
.pos-output { border-left:1px solid #ced9c8; padding-left:28px; }
.pos-output > span { display:block; font-size:10px; color:#7c8a7c; margin-bottom:10px; }
.pos-output strong { font-weight:400; font-size:14px; color:var(--pos-ink); }
#bp-page.positioning-page .pos-footnote { margin-top:22px; font-size:12px; color:#7c887c; }
.pos-service-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.pos-service-tabs button { font:14px/1.7 inherit; font-family:inherit; font-size:14px; line-height:1.7; padding:12px 20px; min-height:48px; background:transparent; border:1px solid #ccd6c9; border-radius:6px; color:#4c6352; cursor:pointer; transition:background .25s ease,color .25s ease; }
.pos-service-tabs button[aria-selected=true] { background:var(--pos-ink); border-color:var(--pos-ink); color:#fff; }
.pos-service-panel { display:grid; grid-template-columns:1fr 1fr; min-height:490px; border-radius:16px; overflow:hidden; background:#edf1e8; }
.pos-service-panel + .pos-service-panel { margin-top:24px; }
.pos-service-panels.is-interactive .pos-service-panel { margin-top:0; }
.pos-service-panel figure { min-width:0; position:relative; background:#e4e8df; }
.pos-service-panel figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pos-service-copy { padding:44px; }
#bp-page.positioning-page .pos-service-copy h3 { margin-top:18px; font-size:32px; }
#bp-page.positioning-page .pos-service-copy > p:not(.pos-eyebrow) { color:#62715f; font-size:15px; line-height:1.9; margin-top:18px; }
#bp-page.positioning-page .pos-service-copy ul { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 20px; margin-top:28px; }
.pos-service-copy li { border-top:1px solid #ced8c8; padding:12px 0; color:#4d634f; font-size:13px; }
.pos-service-copy .pos-text-link { margin-top:22px; }
.pos-section-head .pos-text-link { margin-top:22px; }
.pos-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pos-case { display:flex; flex-direction:column; border:1px solid #dbe3d6; background:#fff; border-radius:12px; overflow:hidden; transition:box-shadow .3s ease,border-color .3s ease; }
.pos-case figure { overflow:hidden; background:#e2e9dd; }
.pos-case img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .7s cubic-bezier(.2,.65,.2,1); }
.pos-case > div { padding:28px; display:flex; flex-direction:column; flex:1; }
#bp-page.positioning-page .pos-case h3 { margin-top:14px; }
#bp-page.positioning-page .pos-case div > p:not(.pos-eyebrow) { margin-top:16px; font-size:14px; line-height:1.9; color:var(--pos-muted); }
.pos-case-link { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--pos-accent); font-size:12px; margin-top:auto; padding-top:26px; }
.pos-thinking { text-align:center; background:#dfe9db; }
#bp-page.positioning-page .pos-thinking h2 { margin-top:28px; font-size:clamp(32px,3.5vw,52px); }
#bp-page.positioning-page .pos-thinking .pos-wrap > p:not(.pos-eyebrow) { margin:24px auto 0; max-width:36em; color:#596e59; font-size:16px; line-height:1.95; }
.pos-thinking .pos-text-link { margin-top:24px; }
.pos-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pos-related-grid > a { display:flex; flex-direction:column; border:1px solid var(--pos-line); padding:32px; border-radius:12px; transition:background .25s ease; }
.pos-related-grid a > span:first-child { color:#7b8e7d; font-size:10px; letter-spacing:.1em; }
#bp-page.positioning-page .pos-related-grid h3 { margin-top:24px; }
#bp-page.positioning-page .pos-related-grid p { margin-top:16px; color:var(--pos-muted); font-size:14px; line-height:1.9; }
.pos-faq-layout { display:grid; grid-template-columns:.85fr 1.3fr; gap:80px; }
#bp-page.positioning-page .pos-faq-layout h2 { margin-top:20px; }
#bp-page.positioning-page .pos-faq-intro { color:var(--pos-muted); font-size:14px; line-height:1.9; margin-top:24px; max-width:22em; }
.pos-faq details { border-top:1px solid #cbd7c6; }
.pos-faq details:last-child { border-bottom:1px solid #cbd7c6; }
.pos-faq summary { position:relative; cursor:pointer; list-style:none; font-size:17px; padding:23px 36px 23px 0; min-height:68px; }
.pos-faq summary::-webkit-details-marker { display:none; }
.pos-faq summary::after { content:'+'; position:absolute; right:2px; top:22px; font-size:22px; color:#63836a; }
.pos-faq details[open] summary::after { content:'−'; }
.pos-faq details > div { padding:0 32px 24px 0; }
.pos-faq p { color:#637362; font-size:14px; line-height:1.95; max-width:40em; }
.pos-contact { padding-block:80px; background:#263f34; }
.pos-contact > .pos-wrap { display:flex; justify-content:space-between; align-items:center; gap:48px; }
#bp-page.positioning-page .pos-contact .pos-eyebrow { color:#b9cfb8; }
#bp-page.positioning-page .pos-contact h2 { color:#fff; margin-top:20px; }
#bp-page.positioning-page .pos-contact p:not(.pos-eyebrow) { color:#c7d4c6; font-size:15px; line-height:1.9; margin-top:22px; }
.pos-contact .pos-actions { flex-direction:column; align-items:flex-start; }
.pos-contact .pos-button-light { background:#dbe9d4; border-color:#dbe9d4; color:#263f34!important; }
.pos-contact .pos-text-link { color:#fff; border-color:#789381; }
/* Existing industry links underneath are part of the same page rhythm. */
body:has(.positioning-page) .qe.qe-band { background:#f8f8f4; color:#263f34; }
body:has(.positioning-page) .qe.qe-band :is(h2,h3) { color:#263f34; }
body:has(.positioning-page) .qe.qe-band p { color:#647269; }
body:has(.positioning-page) .qe.qe-band .qe-service-list a { border-color:#d9e1d6; border-radius:8px; }
body:has(.positioning-page) .qe.qe-band .qe-service-list a:hover { background:#eaf0e5; }
@media(hover:hover) and (pointer:fine) { .pos-case:hover { border-color:#a2b69c; box-shadow:0 12px 28px #263f3410; } .pos-case:hover img { transform:scale(1.025); } .pos-related-grid > a:hover { background:#eef2e9; } }
@media(min-width:1800px) { .pos-hero-copy { padding-left:110px; } }
@media(max-width:1100px) {
 .pos-hero { min-height:620px; }
 .pos-hero-copy { padding-right:32px; }
 .pos-nav { gap:22px; }
 .pos-nav-links { gap:20px; }
 .pos-section-head,.pos-perspective { gap:40px; }
 .pos-method-list li { grid-template-columns:36px .9fr 1.5fr; gap:24px; }
 .pos-output { grid-column:3; padding:0; border:0; display:flex; gap:16px; align-items:center; }
 .pos-output > span { margin:0; }
 .pos-service-copy { padding:32px; }
 .pos-case > div { padding:24px; }
 .pos-faq-layout { gap:40px; }
}
@media(max-width:820px) {
 .pos-hero { grid-template-columns:1fr; }
 .pos-hero-copy { padding:48px var(--pos-gutter); }
 .pos-hero-art { aspect-ratio:16/10; min-height:0; }
 .pos-hero-art img { object-position:center 42%; }
 .pos-nav { flex-wrap:wrap; gap:0 20px; padding-block:8px; --pos-nav:100px; }
 .pos-nav-contact { margin-left:auto; }
 .pos-nav-links { order:3; flex-basis:100%; justify-content:flex-start; gap:24px; }
 #bp-page.positioning-page { --pos-nav:100px; }
 .pos-section { padding-block:64px; }
 .pos-section-head,.pos-perspective,.pos-faq-layout { grid-template-columns:1fr; gap:28px; }
 .pos-case-grid { grid-template-columns:1fr 1fr; }
 .pos-related-grid { grid-template-columns:1fr; gap:16px; }
 .pos-service-panel { grid-template-columns:1fr; }
 .pos-service-panel figure { aspect-ratio:16/10; }
 .pos-contact > .pos-wrap { align-items:flex-start; flex-direction:column; gap:36px; }
 .pos-contact .pos-actions { flex-direction:row; align-items:center; }
}
@media(max-width:540px) {
 #bp-page.positioning-page { --pos-header:56px; }
 #bp-page.positioning-page h1 { font-size:40px; margin-top:28px; }
 #bp-page.positioning-page h2 { font-size:31px; }
 #bp-page.positioning-page .pos-hero-statement { font-size:20px; }
 .pos-hero-foot { font-size:10px; gap:10px 20px; margin-top:32px; }
 .pos-hero-art figcaption { left:24px; right:24px; bottom:24px; }
 .pos-hero .pos-actions { gap:16px 22px; }
 .pos-button { padding:12px 20px; gap:20px; }
 .pos-text-link { font-size:13px; gap:18px; }
 .pos-nav-title { font-size:14px; }
 .pos-nav-links { gap:24px; }
 .pos-section { padding-block:52px; }
 .pos-section-head { margin-bottom:32px; }
 .pos-section-head > p,.pos-section-head > div > p:not(.pos-eyebrow) { font-size:15px; }
 .pos-diagram { padding:20px 8px; }
 .pos-method-list li { grid-template-columns:30px 1fr; gap:16px; align-items:start; padding:28px 0; }
 .pos-method-list li > p,.pos-output { grid-column:2; }
 .pos-step { font-size:24px; }
 #bp-page.positioning-page .pos-method-list h3 { font-size:22px; }
 .pos-output { display:block; border-top:1px solid #d4dece; padding-top:14px; }
 .pos-output > span { margin-bottom:7px; }
 .pos-service-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
 .pos-service-tabs button { padding:11px 8px; font-size:13px; }
 .pos-service-copy { padding:28px 24px; }
 #bp-page.positioning-page .pos-service-copy h3 { font-size:28px; }
 .pos-case-grid { grid-template-columns:1fr; }
 .pos-case img { aspect-ratio:16/11; }
 .pos-related-grid > a { padding:26px; }
 .pos-faq summary { font-size:16px; }
 .pos-faq details > div { padding-right:8px; }
 .pos-contact { padding-block:56px; }
}
@media(prefers-reduced-motion:reduce) { .positioning-page *, .positioning-page *::before,.positioning-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .pos-nav,.pos-actions,.pos-service-tabs { display:none!important; } .pos-service-panel[hidden] { display:grid!important; } .pos-hero,.pos-contact { background:#fff; } #bp-page.positioning-page .pos-contact h2 { color:#263f34; } .pos-service-panel,.pos-case,.pos-method-list li { break-inside:avoid; } }
