/* Consulting for the AI Era */
.ch-hero{background:var(--ink);color:#fff;padding:clamp(96px,10vw,150px) 0 clamp(72px,8vw,110px);overflow:hidden}
.ch-hero .glow.blue{top:-340px;right:-200px}
.ch-hero-in{position:relative;z-index:2}
.ch-hero h1{margin-top:30px;font-size:clamp(42px,6.2vw,86px);max-width:15ch}
.ch-hero .r p{color:rgba(255,255,255,.72);font-size:var(--text-md);line-height:1.6}
.ch-hero .r p+p{margin-top:16px}
.ch-hero .btns{margin-top:44px}

.eqn{margin-top:clamp(48px,5vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.eqn>div{background:var(--paper);padding:34px clamp(22px,3vw,40px)}
.eqn .k{font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pe-neutral-500)}
.eqn .flow{margin-top:20px;font-size:clamp(19px,2vw,25px);font-weight:500;letter-spacing:-.025em;line-height:1.4;color:var(--pe-neutral-900)}
.eqn .flow s{text-decoration:none;color:var(--pe-neutral-300);padding:0 6px}
.eqn-note{margin-top:34px;font-size:clamp(19px,2vw,26px);font-weight:500;letter-spacing:-.025em;line-height:1.3;max-width:34ch;color:var(--pe-neutral-900)}

.prov{background:var(--ink);color:#fff;padding:clamp(80px,9vw,130px) 0;overflow:hidden}
.prov .glow.blue{bottom:-400px;left:-180px;opacity:.45}
.prov-in{position:relative;z-index:2}
.prov h2{font-size:clamp(38px,5.6vw,78px);max-width:16ch}
.prov .say{margin-top:28px;max-width:60ch;color:rgba(255,255,255,.72);font-size:var(--text-md);line-height:1.6}
.prov .kicker{margin-top:40px;padding-top:24px;border-top:1px solid var(--rule-d);font-size:clamp(18px,2vw,25px);font-weight:500;letter-spacing:-.025em;line-height:1.3;color:#fff;max-width:32ch}

.hc{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,4vw,64px);margin-top:clamp(44px,5vw,68px)}
.hc>div{display:flex;align-items:baseline;gap:18px;padding:22px 0;border-bottom:1px solid var(--rule)}
.hc .n{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;color:var(--pe-blue-600);font-variant-numeric:tabular-nums;flex:none}
.hc .t{font-size:clamp(21px,2.2vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
@media(max-width:860px){.hc{grid-template-columns:1fr 1fr}.eqn{grid-template-columns:1fr}}
@media(max-width:560px){.hc{grid-template-columns:1fr}}

.ch-close{background:var(--ink);color:#fff;padding:clamp(90px,10vw,150px) 0;overflow:hidden;text-align:center}
.ch-close .glow.blue{bottom:-420px;left:50%;transform:translateX(-50%);opacity:.4}
.ch-close-in{position:relative;z-index:2;max-width:920px;margin:0 auto}
.ch-close h2{font-size:clamp(38px,6vw,88px);letter-spacing:-.04em}
.ch-close h2 .dim{color:rgba(255,255,255,.4)}
.ch-close p{margin:28px auto 0;max-width:56ch;color:rgba(255,255,255,.72)}
.ch-close .btns{justify-content:center;margin-top:38px}
.ch-close .sign{margin-top:48px;padding-top:26px;border-top:1px solid var(--rule-d);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600}

/* Section rhythm support */
.sec.dark .tri>div{background:var(--ink)}
.sec.dark .tri{background:var(--rule-d);border-color:var(--rule-d)}
.sec.dark .tri .n{color:var(--pe-blue-100)}
.sec.dark .tri .t{color:#fff}
.sec.dark .tri .d{color:rgba(255,255,255,.66)}
.prov h2 .ed{color:rgba(255,255,255,.72)}
@media(max-width:700px){.hc{grid-template-columns:1fr}}

/* Node-edge motif (Semantic Clinical Graph, two-color) */
.graph{position:relative;z-index:2;margin-top:clamp(48px,5.5vw,80px);border-top:1px solid var(--rule-d);padding-top:clamp(28px,3vw,40px)}
.graph svg{display:block;width:100%;height:auto;max-height:210px}
.graph .lbl{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px 30px;font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.graph .lbl b{color:var(--pe-blue-200)}
.gnode{fill:var(--pe-blue-500)}
.gnode.dim{fill:rgba(255,255,255,.22)}
.gedge{stroke:rgba(255,255,255,.16);stroke-width:1}
.gedge.on{stroke:var(--pe-blue-500);stroke-width:1.5;stroke-dasharray:260;stroke-dashoffset:260;transition:stroke-dashoffset 1.1s var(--ease-out)}
.in-view .gedge.on{stroke-dashoffset:0}
.gpulse{fill:var(--pe-blue-500);opacity:0}
.in-view .gpulse{animation:gp 3.6s var(--ease-out) infinite}
@keyframes gp{0%{opacity:0}12%{opacity:.9}40%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.gedge.on{stroke-dashoffset:0;transition:none}.in-view .gpulse{animation:none;opacity:.7}}

/* Editorial photo band */
.band{position:relative;overflow:hidden}
.band image-slot{display:block;width:100%;height:clamp(280px,34vw,440px);filter:saturate(.72)}
.band-cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(24px,3vw,40px) var(--gut);background:linear-gradient(to top,rgba(27,27,28,.86),transparent);color:#fff}
.band-cap .in{max-width:var(--maxw);margin:0 auto}
.band-cap p{font-size:clamp(19px,2.2vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.2;max-width:26ch;color:#fff}

/* Accent on the AI-era column */
.cmp-r .new{position:relative;padding-left:18px}
.cmp-r .new::after{content:"";position:absolute;left:0;top:.35em;bottom:.2em;width:2px;background:var(--pe-blue-600);border-radius:2px}
@media(max-width:820px){.cmp-r .new{padding-left:0}.cmp-r .new::after{display:none}}

/* Big stat moment */
.claim{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,60px);align-items:baseline;margin-top:clamp(44px,5vw,68px);padding-top:32px;border-top:1px solid var(--rule-d)}
.claim .fig{font-size:clamp(56px,9vw,132px);font-weight:500;letter-spacing:-.05em;line-height:.86;color:#fff;font-variant-numeric:tabular-nums}
.claim .fig s{text-decoration:none;color:var(--pe-blue-500)}
.claim p{font-size:clamp(17px,1.7vw,22px);line-height:1.45;color:rgba(255,255,255,.72);max-width:34ch}
@media(max-width:760px){.claim{grid-template-columns:1fr;gap:18px}}

