/* Clear product definitions, placed directly after each hero. */
.product-explainer{position:relative;width:100%;border-top:1px solid rgba(49,95,139,.2);border-bottom:1px solid rgba(49,95,139,.2);font-family:"Inter Tight",Inter,ui-sans-serif,sans-serif}
.product-explainer__inner{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:clamp(92px,9vw,144px) 0}
.product-explainer__intro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr);gap:clamp(48px,8vw,120px);align-items:end}
.product-explainer h2{max-width:790px;margin:0;color:inherit;font-size:clamp(52px,6.2vw,88px);font-weight:500;letter-spacing:-.065em;line-height:.94;text-wrap:balance}
.product-explainer__copy{margin:0 0 4px;font-size:clamp(19px,1.65vw,25px);line-height:1.36;letter-spacing:-.025em}
.product-explainer__copy strong{color:inherit;font-weight:650}
.product-explainer__flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(64px,7vw,104px);border:1px solid currentColor}
.product-explainer__step{position:relative;min-height:178px;padding:26px 28px;border-left:1px solid currentColor}
.product-explainer__step:first-child{border-left:0}
.product-explainer__step small{display:block;margin-bottom:48px;font-size:11px;font-weight:650;letter-spacing:.08em;opacity:.58}
.product-explainer__step strong{display:block;max-width:210px;font-size:clamp(20px,1.75vw,26px);font-weight:550;line-height:1.08;letter-spacing:-.035em}
.product-explainer__example{display:grid;grid-template-columns:1.35fr repeat(4,1fr);margin-top:18px;border:1px solid currentColor}
.product-explainer__example>div{min-height:98px;padding:20px 22px;border-left:1px solid currentColor}
.product-explainer__example>div:first-child{border-left:0}
.product-explainer__example small,.product-explainer__example span{display:block}
.product-explainer__example small{margin-bottom:11px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.product-explainer__example span{font-size:clamp(15px,1.25vw,19px);font-weight:570;line-height:1.15;letter-spacing:-.02em}
.ruty-explainer{background:#fff;color:#102a43}
.ruty-explainer .product-explainer__flow,.ruty-explainer .product-explainer__example{border-color:rgba(49,95,139,.33)}
.ruty-explainer .product-explainer__step,.ruty-explainer .product-explainer__example>div{border-color:rgba(49,95,139,.25)}
.ruty-allocation{margin-top:clamp(68px,7.5vw,112px);color:#0b2450}
.ruty-allocation__title{text-align:center;font-size:13px;font-weight:750;letter-spacing:.32em;text-transform:uppercase}
.ruty-allocation__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(80px,12vw,190px);margin:30px 0 22px;padding-left:clamp(190px,19vw,280px);font-size:11px;font-weight:750;letter-spacing:.24em;text-transform:uppercase}
.ruty-allocation__head span:last-child{color:#4f8d3f}
.ruty-allocation__rows{display:grid;gap:24px}
.ruty-allocation__row{display:grid;grid-template-columns:110px 70px minmax(180px,1fr) 66px 76px minmax(180px,1fr);gap:18px;align-items:center;min-height:46px}
.ruty-allocation__row>strong{font-size:18px;font-weight:520;letter-spacing:-.02em}
.ruty-allocation__value{font-size:18px;font-weight:520;font-variant-numeric:tabular-nums}
.ruty-allocation__value.is-proposed{color:#4f8d3f}
.ruty-allocation__arrow{font-size:30px;font-weight:350;text-align:center}
.ruty-allocation__meter{--block:18px;--gap:9px;position:relative;display:block;width:calc(15 * (var(--block) + var(--gap)));max-width:100%;height:20px;overflow:hidden;background:repeating-linear-gradient(90deg,#e5e9ec 0 var(--block),transparent var(--block) calc(var(--block) + var(--gap)))}
.ruty-allocation__meter::before,.ruty-allocation__meter::after{content:"";position:absolute;inset:0 auto 0 0;width:0;background:repeating-linear-gradient(90deg,#0b2450 0 var(--block),transparent var(--block) calc(var(--block) + var(--gap)))}
.ruty-allocation.visible .ruty-allocation__meter.is-current::after{animation:ruty-current-fill 1.5s steps(var(--blocks),end) both}
.ruty-allocation__meter.is-proposed::before{z-index:1}
.ruty-allocation.visible .ruty-allocation__meter.is-proposed::before{animation:ruty-copy-fill 1.5s steps(var(--source-blocks),end) both,ruty-copy-away .25s ease 1.7s forwards}
.ruty-allocation__meter.is-proposed::after{z-index:2;opacity:0;background-image:repeating-linear-gradient(90deg,#6aa657 0 var(--block),transparent var(--block) calc(var(--block) + var(--gap)))}
.ruty-allocation.visible .ruty-allocation__meter.is-proposed::after{animation:ruty-final-correction 1.35s steps(2,end) 1.7s forwards}
@keyframes ruty-current-fill{from{width:0}to{width:calc(var(--blocks) * (var(--block) + var(--gap)))}}
@keyframes ruty-copy-fill{from{width:0}to{width:calc(var(--source-blocks) * (var(--block) + var(--gap)))}}
@keyframes ruty-copy-away{to{opacity:0}}
@keyframes ruty-final-correction{from{width:calc(var(--source-blocks) * (var(--block) + var(--gap)));opacity:1}to{width:calc(var(--blocks) * (var(--block) + var(--gap)));opacity:1}}
.terminal-explainer{background:#fff;color:#101112}
.terminal-explainer .product-explainer__copy{color:#54666a}
.terminal-explainer .product-explainer__flow,.terminal-explainer .product-explainer__example{border-color:rgba(16,75,78,.25)}
.terminal-explainer .product-explainer__step,.terminal-explainer .product-explainer__example>div{border-color:rgba(16,75,78,.2)}
.terminal-explainer .product-explainer__step:nth-child(3),.terminal-explainer .product-explainer__example>div:first-child{background:#e8f5f4;color:#0b5558}
@media(max-width:860px){.product-explainer__intro{grid-template-columns:1fr;gap:34px}.product-explainer__copy{max-width:680px}.product-explainer__flow{grid-template-columns:repeat(2,1fr)}.product-explainer__step:nth-child(3){border-left:0;border-top:1px solid currentColor}.product-explainer__step:nth-child(4){border-top:1px solid currentColor}.product-explainer__example{grid-template-columns:repeat(2,1fr)}.product-explainer__example>div:first-child{grid-column:1/-1}.product-explainer__example>div:nth-child(2),.product-explainer__example>div:nth-child(4){border-left:0}.product-explainer__example>div:nth-child(n+2){border-top:1px solid currentColor}}
@media(max-width:1100px){.ruty-allocation__meter{--block:8px;--gap:5px;width:calc(13 * (var(--block) + var(--gap)))}}
@media(max-width:860px){.ruty-allocation__head{padding-left:150px;gap:76px}.ruty-allocation__row{grid-template-columns:72px 58px minmax(110px,1fr) 36px 64px minmax(110px,1fr);gap:10px}}
@media(max-width:560px){.product-explainer__inner{width:auto!important;margin-inline:16px!important;padding:72px 0}.product-explainer__intro,.product-explainer__flow,.product-explainer__example{width:100%;min-width:0}.product-explainer h2{font-size:clamp(44px,13vw,62px)}.product-explainer__copy{min-width:0;overflow-wrap:anywhere}.product-explainer__flow{grid-template-columns:minmax(0,1fr);margin-top:50px}.product-explainer__step{min-width:0;min-height:130px;border-left:0;border-top:1px solid currentColor}.product-explainer__step:first-child{border-top:0}.product-explainer__step small{margin-bottom:28px}.product-explainer__example{grid-template-columns:minmax(0,1fr)}.product-explainer__example>div{min-width:0;min-height:84px;border-left:0;border-top:1px solid currentColor}.product-explainer__example>div:first-child{border-top:0}}
@media(max-width:700px){.ruty-allocation{margin-top:54px}.ruty-allocation__title{text-align:left;font-size:11px}.ruty-allocation__head{display:none}.ruty-allocation__rows{gap:34px;margin-top:28px}.ruty-allocation__row{grid-template-columns:54px 54px minmax(0,1fr) 24px 54px;grid-template-areas:"asset current-value current-meter arrow proposed-value" ". . proposed-meter proposed-meter proposed-meter";gap:9px;min-width:0}.ruty-allocation__row>strong{grid-area:asset;font-size:15px}.ruty-allocation__value{grid-area:current-value;font-size:15px}.ruty-allocation__meter.is-current{grid-area:current-meter}.ruty-allocation__arrow{grid-area:arrow;font-size:22px}.ruty-allocation__value.is-proposed{grid-area:proposed-value}.ruty-allocation__meter.is-proposed{grid-area:proposed-meter}.ruty-allocation__meter{--block:7px;--gap:4px;width:calc(12 * (var(--block) + var(--gap)));height:14px}}
@media(prefers-reduced-motion:reduce){.ruty-allocation__meter::before,.ruty-allocation.visible .ruty-allocation__meter::before{display:none;animation:none}.ruty-allocation__meter::after,.ruty-allocation.visible .ruty-allocation__meter::after{width:calc(var(--blocks) * (var(--block) + var(--gap)));opacity:1;animation:none}}
