/* SCALE (partners). Builds on the global system; page-specific: hero figure, SCALE rail, support band. */
.scale-fig{max-width:620px;overflow:visible}
.fig-role .lift{transition:transform .6s var(--ease)}
.scale-fig:hover .fig-role .lift{transform:translateY(-12px)}
.split .p.first{margin-top:0}
.split>.rv>.callout-red{margin-top:40px}

/* SCALE rail (S-C-A-L-E), lit in sequence when it scrolls into view */
.eng2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(48px,7vw,104px);align-items:start}
.eng-l{position:sticky;top:172px}
.eng-r{position:relative;padding-left:56px;padding-top:6px}
.rail{position:relative}
.rail::before{content:"";position:absolute;left:-33px;top:48px;bottom:48px;width:1.5px;background:#C5CBD4}
.rail li{position:relative;display:grid;grid-template-columns:44px minmax(0,150px) minmax(0,1fr);column-gap:16px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line)}
.rail li:last-child{border-bottom:0}
.rail .node{position:absolute;left:-41px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--red);border:1.5px solid var(--red)}
.rail .n{font-family:var(--mono);font-size:22px;font-weight:500;letter-spacing:.1em;color:var(--red)}
.rail h3{font-family:var(--serif);font-weight:700;font-size:clamp(24px,2vw,30px);line-height:1.15;letter-spacing:-.015em}
.rail .d{font-size:17px;line-height:1.5;color:var(--slate)}
.fx .anim:not(.play) .rail li{opacity:0;transform:translateY(20px)}
.fx .play .rail li{animation:fade .8s var(--ease) both;animation-delay:calc(var(--i) * .22s)}
.fx .play .rail .node{animation:litNode .5s var(--ease) both;animation-delay:calc(var(--i) * .22s + .3s)}
@keyframes litNode{from{background:#fff;border-color:#C5CBD4}to{background:var(--red);border-color:var(--red)}}

/* support band */
.closing .eyebrow{color:var(--steel)}
.closing .cta-h{margin-top:22px;font-family:var(--serif);font-weight:900;font-size:clamp(46px,6.6vw,100px);line-height:.95;letter-spacing:-.028em}
.closing .cta-h em{font-style:italic;color:#FF8696}
.closing .p{color:var(--steel);max-width:30em}
.closing .p b{color:#fff}
#support{scroll-margin-top:72px}
.sup-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:clamp(40px,6vw,96px);align-items:end}
.closing .together{margin-top:0;font-size:16px;letter-spacing:.04em;font-family:var(--sans);color:#fff;line-height:1.5}
.sup-act .tiles{grid-template-columns:minmax(0,1fr);margin-top:28px}

/* hero entrance */
.fx .phero .hero-copy>*{animation:fade 1s var(--ease) both}
.fx .phero .hero-copy>:nth-child(2){animation-delay:.08s}
.fx .phero .hero-copy>:nth-child(3){animation-delay:.16s}
.fx .phero .hero-copy>:nth-child(4){animation-delay:.24s}
.fx .phero .hero-copy>:nth-child(5){animation-delay:.32s}
.fx .phero .hero-copy>:nth-child(6){animation-delay:.4s}
.fx .phero .scale-fig{animation:fade 1.2s .25s var(--ease) both}

@media (max-width:960px){
  .phero-grid{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .split{grid-template-columns:minmax(0,1fr);row-gap:48px}
  .eng2,.sup-grid{grid-template-columns:minmax(0,1fr);row-gap:48px}
  .eng-l{position:static}
  .eng-r{padding-left:44px}
  .rail li{grid-template-columns:36px minmax(0,1fr);row-gap:4px}
  .rail .d{grid-column:2}
  .rail .node{left:-29px}
  .rail::before{left:-21px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
