.spring-engine{--spring-engine-gutter:clamp(26px,4vw,58px)}.spring-engine .spring-engine__heading{font-size:clamp(40px,6.4vw,96px);letter-spacing:-.038em;line-height:.94;margin-top:clamp(26px,3.2vw,44px)}.spring-engine .spring-engine__lead{margin-top:clamp(22px,2.4vw,34px)}.spring-engine .spring-engine__split{margin-top:clamp(48px,6vw,96px)}.spring-engine .spring-engine__index-col{align-self:stretch}.spring-engine--sticky .spring-engine__index{position:sticky;top:var(--spring-engine-sticky-top,130px)}.spring-engine .spring-engine__nav{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.spring-engine .spring-engine__nav-item{align-items:center;border-top:1px solid var(--spring-c-rule);color:var(--spring-c-soft);display:flex;gap:14px;padding:14px 0;transition:color .45s var(--spring-ease)}.spring-engine .spring-engine__nav-item:last-child{border-bottom:1px solid var(--spring-c-rule)}.spring-engine .spring-engine__nav-item.is-active{color:var(--spring-c-heading)}.spring-engine .spring-engine__nav-link,.spring-engine .spring-engine__nav-link:active,.spring-engine .spring-engine__nav-link:focus,.spring-engine .spring-engine__nav-link:hover{color:inherit;font-family:var(--spring-font-text);font-size:14px;font-weight:var(--spring-weight-semibold);letter-spacing:.14em;text-decoration:none;text-transform:uppercase}.spring-engine .spring-engine__nav-dot{background:var(--spring-c-rule-strong);border-radius:999px;display:block;height:8px;transition:background .45s var(--spring-ease),scale .45s var(--spring-ease);width:8px}.spring-engine .spring-engine__nav-item.is-active .spring-engine__nav-dot{background:var(--spring-c-dot);scale:calc(1 + var(--spring-motion)*.3)}.spring-engine .spring-engine__note{color:var(--spring-c-text-2);font-size:15px;line-height:1.6;margin:26px 0 0;max-width:30ch}.spring-engine .spring-engine__flow{position:relative}.spring-engine .spring-engine__line{background:var(--spring-c-rule);bottom:0;display:block;left:calc(var(--spring-engine-gutter)*-1);position:absolute;top:0;width:1px}.spring-engine .spring-engine__line-fill{background:var(--spring-c-dot);display:block;height:100%;left:0;position:absolute;top:0;transform:scaleY(var(--spring-engine-progress,1));transform-origin:top;width:1px}.spring-engine .spring-engine__area{display:flex;flex-direction:column;justify-content:center;min-height:var(--spring-engine-area-h,42vh);padding:clamp(20px,2.4vw,34px) 0;position:relative;transition:opacity .6s var(--spring-ease)}.spring-engine--dim.spring-motion-on[data-spring-engine-live] .spring-engine__area.is-before{opacity:.38}.spring-engine--dim.spring-motion-on[data-spring-engine-live] .spring-engine__area.is-after{opacity:.24}.spring-engine .spring-engine__area-dot{background:var(--spring-c-bg);border:1px solid var(--spring-c-link-line);border-radius:999px;display:block;height:11px;left:calc(var(--spring-engine-gutter)*-1 - 5px);position:absolute;top:50%;transition:background .45s var(--spring-ease),border-color .45s var(--spring-ease),scale .45s var(--spring-ease);translate:0 -50%;width:11px}.spring-engine .spring-engine__area.is-active .spring-engine__area-dot,.spring-engine .spring-engine__area.is-before .spring-engine__area-dot{background:var(--spring-c-dot);border-color:var(--spring-c-dot)}.spring-engine .spring-engine__area.is-active .spring-engine__area-dot{scale:calc(1 + var(--spring-motion)*.55)}.spring-engine .spring-engine__area-label{color:var(--spring-c-muted);font-size:var(--spring-text-label-lg);font-weight:var(--spring-weight-semibold);letter-spacing:var(--spring-tracking-label);text-transform:uppercase;transition:color .45s var(--spring-ease)}.spring-engine .spring-engine__area.is-active .spring-engine__area-label{color:var(--spring-c-eyebrow)}.spring-engine .spring-engine__area-title{color:var(--spring-c-heading);font-family:var(--spring-font-display);font-size:clamp(28px,3.8vw,54px);font-weight:var(--spring-weight-semibold);letter-spacing:-.03em;line-height:1.02;margin:20px 0 0;max-width:18ch;text-transform:none}.spring-engine .spring-engine__area-text{font-size:18px;line-height:1.65;margin-top:22px;max-width:42ch}.spring-engine .spring-engine__area-text p{margin:0 0 .6em}.spring-engine .spring-engine__area-strong{color:var(--spring-c-heading);font-size:18px;font-weight:var(--spring-weight-semibold);line-height:1.6;margin:16px 0 0;max-width:42ch}.spring-engine .spring-engine__loop{height:96px;position:relative}.spring-engine .spring-engine__loop-h{background:var(--spring-c-dot);display:block;height:1px;left:0;position:absolute;right:0;top:48px;transform:scaleX(var(--spring-engine-loop,1));transform-origin:right;transition:transform .9s var(--spring-ease)}.spring-engine .spring-engine__loop-v{background:var(--spring-c-dot);display:block;position:absolute;width:1px}.spring-engine .spring-engine__loop-v--right{height:48px;right:0;top:0}.spring-engine .spring-engine__loop-v--left{height:48px;left:0;top:48px}.spring-engine .spring-engine__loop-dot{background:var(--spring-c-dot);border-radius:999px;bottom:-4px;display:block;height:9px;left:-4px;position:absolute;width:9px}.spring-engine .spring-engine__loop-text{align-items:center;color:var(--spring-c-dot);display:inline-flex;font-family:var(--spring-font-display);font-size:16px;font-weight:var(--spring-weight-semibold);gap:8px;left:26px;letter-spacing:-.01em;position:absolute;top:22px}.spring-engine .spring-engine__closing{border-top:1px solid var(--spring-c-rule);font-size:clamp(32px,5vw,72px);letter-spacing:-.035em;line-height:1;margin-top:clamp(64px,8vw,110px);max-width:20ch;padding-top:clamp(28px,3.4vw,44px)}@media (max-width:899px){.spring-engine .spring-engine__index-col{display:none}.spring-engine .spring-engine__flow{padding-left:var(--spring-engine-gutter)}.spring-engine .spring-engine__line{left:0}.spring-engine .spring-engine__area-dot{left:calc(var(--spring-engine-gutter)*-1 - 5px)}.spring-engine .spring-engine__area{min-height:0;padding:44px 0}.spring-engine .spring-engine__loop{display:none}}.spring-engine--list .spring-engine__head--list>:first-child{margin-top:0}.spring-engine--list .spring-engine__heading{hyphens:manual}.spring-engine--list .spring-engine__flow--list{--spring-engine-pad:clamp(18px,1.9vw,26px);--spring-engine-name:clamp(24px,2.3vw,34px);--spring-engine-dot-y:calc(var(--spring-engine-pad) + var(--spring-engine-name)*0.575);--spring-engine-rail-x:0px;--spring-engine-indent:clamp(30px,3vw,44px)}.spring-engine--list .spring-engine__flow--loop{--spring-engine-rail-x:clamp(34px,3.4vw,48px)}.spring-engine--list .spring-engine__rail{display:none}.spring-engine--list .spring-engine__rows{list-style:none;margin:0;padding:0}.spring-engine--list .spring-engine__row{align-items:center;border-top:1px solid var(--spring-c-rule);display:grid;gap:6px clamp(14px,1.8vw,28px);grid-template-columns:2.2em minmax(0,.8fr) minmax(0,1.25fr);padding:var(--spring-engine-pad) 0 var(--spring-engine-pad) calc(var(--spring-engine-rail-x) + var(--spring-engine-indent));position:relative}.spring-engine--list .spring-engine__row:first-child{border-top-color:transparent}.spring-engine--list .spring-engine__row:not(:last-child):after{background:var(--spring-c-rule-strong);content:"";height:100%;left:var(--spring-engine-rail-x);position:absolute;top:var(--spring-engine-dot-y);transition:background .5s var(--spring-ease);width:1px}.spring-engine--list .spring-engine__row.is-before:after{background:var(--spring-c-dot)}.spring-engine--list .spring-engine__flow--loop .spring-engine__row:not(:last-child):before{content:"";height:100%;width:1px}.spring-engine--list .spring-engine__flow--loop .spring-engine__row:not(:last-child):before,.spring-engine--list .spring-engine__row-stub{background:var(--spring-c-rule-strong);left:0;position:absolute;top:var(--spring-engine-dot-y);transition:background .6s var(--spring-ease)}.spring-engine--list .spring-engine__row-stub{height:1px;width:var(--spring-engine-rail-x)}.spring-engine--list.is-looped .spring-engine__flow--loop .spring-engine__row:not(:last-child):before,.spring-engine--list.is-looped .spring-engine__row-stub{background:var(--spring-c-dot)}.spring-engine--list .spring-engine__return{align-items:center;bottom:0;display:flex;left:0;pointer-events:none;position:absolute;top:0;z-index:1}.spring-engine--list .spring-engine__return-text{background:var(--spring-c-bg);color:var(--spring-c-heading);font-family:var(--spring-font-text);font-size:11px;font-weight:var(--spring-weight-semibold);letter-spacing:var(--spring-tracking-label);line-height:1;padding:12px 0;rotate:180deg;text-transform:uppercase;translate:-50% 0;white-space:nowrap;writing-mode:vertical-rl}.spring-engine--list .spring-engine__row-dot{background:var(--spring-c-dot);border-radius:999px;height:11px;left:var(--spring-engine-rail-x);outline:1px solid transparent;outline-offset:4px;position:absolute;top:var(--spring-engine-dot-y);transition:scale .45s var(--spring-ease),outline-color .45s var(--spring-ease);translate:-50% -50%;width:11px;z-index:1}.spring-engine--list .spring-engine__row.is-active .spring-engine__row-dot{outline-color:var(--spring-c-dot);scale:calc(1 + var(--spring-motion)*.3)}.spring-engine--list .spring-engine__row-number{color:var(--spring-c-mark);font-family:var(--spring-font-text);font-size:14px;font-weight:var(--spring-weight-semibold);letter-spacing:.06em;line-height:1}.spring-engine--list .spring-engine__row-name{color:var(--spring-c-heading);font-family:var(--spring-font-display);font-size:var(--spring-engine-name);font-weight:var(--spring-weight-semibold);letter-spacing:-.02em;line-height:1.15}.spring-engine--list .spring-engine__row-desc{display:flex;flex-direction:column;gap:4px}.spring-engine--list .spring-engine__row-title{color:var(--spring-c-heading);font-family:var(--spring-font-text);font-size:clamp(16px,1.25vw,19px);font-weight:var(--spring-weight-semibold);line-height:1.3}.spring-engine--list .spring-engine__row-strong,.spring-engine--list .spring-engine__row-text{color:var(--spring-c-text-2);font-size:clamp(14px,1.05vw,16px);line-height:1.45}.spring-engine--list .spring-engine__row-strong{color:var(--spring-c-text)}@media (max-width:899px){.spring-engine--list .spring-engine__flow--list{margin-top:clamp(32px,6vw,48px)}.spring-engine--list .spring-engine__row{align-items:baseline;grid-template-columns:2.2em minmax(0,1fr)}.spring-engine--list .spring-engine__row-desc{grid-column:2}}@media (prefers-reduced-motion:reduce){.spring-engine--list .spring-engine__row-dot,.spring-engine--list .spring-engine__row-stub,.spring-engine--list .spring-engine__row:after,.spring-engine--list .spring-engine__row:before{transition:none}}