/* Client-approved Company narrative. The flow is deliberately the strongest
   visual; the remaining sections use the same restrained editorial system. */
.company-client-hero{overflow:hidden}
.company-client-hero .page-visual-intro{align-items:center}
.company-client-hero .page-visual-copy{max-width:680px}
.company-client-hero .page-visual-copy h1{max-width:15ch}
.company-client-hero .page-visual-media{position:relative}
.company-client-hero .page-visual-media::after{content:"";position:absolute;right:-22px;bottom:-22px;width:44%;aspect-ratio:1;border:1px solid var(--sage-2);border-radius:50%;pointer-events:none}
.company-client-hero .media-slot{position:relative;z-index:1}

.company-story-grid,.company-future-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);gap:clamp(52px,9vw,144px);align-items:start}
.company-story-heading,.company-future-heading{position:sticky;top:calc(var(--header-h,84px) + var(--s-5))}
.company-story-heading h2,.company-future-heading h2{max-width:13ch;margin:0}
.company-story-copy{padding-top:var(--s-2);border-top:1px solid var(--line)}
.company-story-copy p{max-width:66ch}
.company-story-copy p+p{margin-top:var(--s-4)}
.company-story-copy .company-story-lead{color:var(--deep);font-size:var(--fs-lede);line-height:var(--lh-lede)}

.company-model-bridge-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:clamp(48px,8vw,128px);align-items:end}
.company-model-bridge .eyebrow{color:var(--focus-on-dark)}
.company-model-bridge h2{max-width:18ch;margin:0;color:var(--white)}
.company-model-bridge-grid>div:last-child>p{max-width:62ch;margin:0 0 var(--s-5);color:var(--on-deep-2);font-size:var(--fs-lede);line-height:var(--lh-lede)}

.company-flow{position:relative;overflow:hidden}
.company-flow::before{content:"";position:absolute;left:-12vw;bottom:-24vw;width:min(56vw,800px);aspect-ratio:1;border:1px solid var(--line-on-deep);border-radius:50%;box-shadow:0 0 0 64px rgba(255,255,255,.018),0 0 0 128px rgba(255,255,255,.012);pointer-events:none}
.company-flow .wrap{position:relative;z-index:1}
.company-flow-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);column-gap:clamp(48px,8vw,120px);align-items:end;margin-bottom:clamp(56px,7vw,92px)}
.company-flow-head .eyebrow{grid-column:1/-1;color:var(--focus-on-dark)}
.company-flow-head h2{max-width:15ch;margin:0;color:var(--white)}
.company-flow-head .lede{max-width:58ch;margin:0;color:var(--on-deep-2)}
.company-flow-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}
.company-flow-step{position:relative;min-width:0;padding:0 clamp(18px,2vw,32px) var(--s-5);border-left:1px solid var(--line-on-deep)}
.company-flow-step:last-child{border-right:1px solid var(--line-on-deep)}
.company-flow-marker{display:flex;align-items:center;margin-bottom:var(--s-5);color:var(--focus-on-dark)}
.company-flow-marker>span{display:grid;flex:0 0 48px;place-items:center;width:48px;height:48px;border:1px solid var(--line-on-deep-2);border-radius:50%;background:var(--deep)}
.company-flow-marker .en-icon{width:22px;height:22px}
.company-flow-marker i{display:block;flex:1;height:1px;margin-left:var(--s-3);background:var(--line-on-deep-2)}
.company-flow-step:last-child .company-flow-marker i{position:relative;background:transparent}
.company-flow-step:last-child .company-flow-marker i::before,.company-flow-step:last-child .company-flow-marker i::after{content:"";position:absolute;right:0;top:50%;width:10px;height:1px;background:var(--focus-on-dark);transform-origin:right}
.company-flow-step:last-child .company-flow-marker i::before{transform:rotate(38deg)}
.company-flow-step:last-child .company-flow-marker i::after{transform:rotate(-38deg)}
.company-flow-number{margin:0 0 var(--s-3);font-family:var(--data);font-size:var(--fs-micro);font-weight:var(--fw-micro);letter-spacing:var(--ls-micro);color:var(--focus-on-dark)}
.company-flow-step h3{margin:0 0 var(--s-3);color:var(--white);font-size:clamp(1.1rem,1.35vw,1.35rem);text-transform:none}
.company-flow-step>p:last-child{margin:0;color:var(--on-deep-2);font-size:.95rem}
.company-flow-close{display:flex;align-items:center;justify-content:center;gap:var(--s-3);max-width:840px;margin:clamp(48px,6vw,76px) auto 0;padding:var(--s-4) var(--s-5);border:1px solid var(--line-on-deep-2);background:rgba(255,255,255,.035);color:var(--on-deep);text-align:center}
.company-flow-close .en-icon{flex:0 0 auto;width:22px;height:22px;color:var(--focus-on-dark)}

.company-foundation-head{max-width:760px;margin-bottom:clamp(48px,6vw,76px)}
.company-foundation-head h2{margin-bottom:var(--s-3)}
.company-foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--sage);border-bottom:1px solid var(--sage)}
.company-foundation-card{min-width:0;padding:clamp(28px,3.5vw,52px)}
.company-foundation-card+.company-foundation-card{border-left:1px solid var(--sage-2)}
.company-foundation-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:var(--s-5);border:1px solid var(--sage-2);border-radius:50%;color:var(--deep)}
.company-foundation-icon .en-icon{width:24px;height:24px}
.company-foundation-card h3{margin-bottom:var(--s-3)}
.company-foundation-card p{margin:0;color:var(--muted)}
.company-vmp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);margin-top:clamp(56px,7vw,96px)}
.company-vmp-item{padding-top:var(--s-4);border-top:2px solid var(--deep)}
.company-vmp-key{margin:0 0 var(--s-4);font-family:var(--data);font-size:var(--fs-micro);font-weight:var(--fw-micro);letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--sage)}
.company-vmp-item h3{font-size:clamp(1.25rem,1.7vw,1.75rem)}
.company-vmp-item>p:last-child{margin:0;color:var(--muted)}

.company-ecosystem-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(48px,8vw,128px);align-items:end;margin-bottom:clamp(56px,7vw,88px)}
.company-ecosystem-head h2{max-width:16ch;margin:0}
.company-ecosystem-intro p{max-width:62ch;margin:0;color:var(--muted);font-size:var(--fs-lede);line-height:var(--lh-lede)}
.company-ecosystem-intro p+p{margin-top:var(--s-3)}
.company-ecosystem-map{position:relative;padding-top:86px}
.company-ecosystem-core{position:absolute;z-index:2;top:0;left:50%;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border:1px solid var(--sage);border-radius:999px;background:var(--paper);color:var(--deep);transform:translateX(-50%);white-space:nowrap}
.company-ecosystem-core::after{content:"";position:absolute;top:100%;left:50%;width:1px;height:44px;background:var(--sage-2)}
.company-ecosystem-core .en-icon{width:21px;height:21px}
.company-ecosystem-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--sage-2)}
.company-ecosystem-node{position:relative;min-width:0;padding:clamp(30px,3vw,48px) clamp(18px,2.2vw,34px);background:rgba(255,255,255,.35)}
.company-ecosystem-node+.company-ecosystem-node{border-left:1px solid var(--line)}
.company-ecosystem-node>span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:var(--s-4);border:1px solid var(--sage-2);border-radius:50%;background:var(--mist);color:var(--deep)}
.company-ecosystem-node .en-icon{width:21px;height:21px}
.company-ecosystem-node h3{margin-bottom:var(--s-3);font-size:clamp(1.05rem,1.35vw,1.35rem)}
.company-ecosystem-node p{margin:0;color:var(--muted)}

.company-future{overflow:hidden;background:linear-gradient(120deg,var(--paper) 0,var(--paper) 58%,var(--mist) 58%,var(--mist) 100%)}
.company-future-copy p{max-width:64ch;margin:0;color:var(--muted);font-size:var(--fs-lede);line-height:var(--lh-lede)}
.company-future-copy p+p{margin-top:var(--s-4)}
.company-future-keys{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(54px,7vw,92px);border-top:1px solid var(--sage);border-bottom:1px solid var(--sage)}
.company-future-key{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5) clamp(20px,3vw,44px)}
.company-future-key+.company-future-key{border-left:1px solid var(--sage-2)}
.company-future-key strong{font-family:var(--data);font-size:var(--fs-micro);letter-spacing:var(--ls-micro);text-transform:uppercase;color:var(--deep)}
.company-future-key span{color:var(--muted)}

@media(max-width:1120px){
	.company-flow-head{grid-template-columns:1fr;gap:var(--s-4)}
	.company-flow-track{grid-template-columns:1fr}
	.company-flow-step,.company-flow-step:last-child{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:var(--s-5);padding:0 0 var(--s-7);border:0}
	.company-flow-marker{grid-row:1/4;display:block;position:relative;margin:0}
	.company-flow-marker>span{position:relative;z-index:1}
	.company-flow-marker i{position:absolute;top:50px;bottom:0;left:23px;width:1px;height:auto;margin:0;background:var(--line-on-deep-2)}
	.company-flow-step:last-child .company-flow-marker i{display:none}
	.company-flow-number,.company-flow-step h3,.company-flow-step>p:last-child{grid-column:2}
	.company-flow-number{margin-bottom:var(--s-2)}
	.company-flow-step h3{margin-bottom:var(--s-2)}
	.company-ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.company-ecosystem-node:nth-child(odd){border-left:0}
	.company-ecosystem-node:last-child{grid-column:1/-1}
}
@media(max-width:860px){
	.company-story-grid,.company-future-grid,.company-ecosystem-head,.company-model-bridge-grid{grid-template-columns:1fr;gap:var(--s-6)}
	.company-story-heading,.company-future-heading{position:static}
	.company-foundation-grid,.company-vmp,.company-future-keys{grid-template-columns:1fr}
	.company-foundation-card+.company-foundation-card,.company-future-key+.company-future-key{border-left:0;border-top:1px solid var(--sage-2)}
	.company-vmp{gap:var(--s-7)}
	.company-future{background:var(--paper)}
}
@media(max-width:620px){
	.company-client-hero .page-visual-copy h1{max-width:none}
	.company-flow-close{align-items:flex-start;text-align:left}
	.company-ecosystem-map{padding-top:0}
	.company-ecosystem-core{position:relative;left:auto;width:100%;justify-content:center;margin-bottom:var(--s-5);transform:none;white-space:normal;text-align:center}
	.company-ecosystem-core::after{display:none}
	.company-ecosystem-grid{grid-template-columns:1fr;border:1px solid var(--line)}
	.company-ecosystem-node,.company-ecosystem-node:nth-child(odd){border-left:0}
	.company-ecosystem-node+.company-ecosystem-node{border-top:1px solid var(--line)}
	.company-ecosystem-node:last-child{grid-column:auto}
}
