.three-steps{position:relative;background:#faf9fc;scroll-margin-top:0}
.three-steps__pin{padding-block:clamp(1.5rem,3.2vh,3.6rem)}
.three-steps__heading{margin-bottom:2.2rem}
.three-steps__heading h2{font-size:2.6rem;line-height:1.2;letter-spacing:-.04em}
.three-steps__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}
.three-steps__tabs button{position:relative;display:flex;align-items:center;gap:.8rem;min-height:52px;padding:.7rem 0 1rem;background:none;border:0;border-bottom:2px solid #dfdce6;color:var(--muted);font-size:1.3rem;text-align:left;transition:color .2s,border-color .2s}
.three-steps__tabs button span{color:#8a819e;font-size:1rem}
.three-steps__tabs button::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--violet);transform:scaleX(var(--step-progress,0));transform-origin:left center;transition:transform .12s linear;pointer-events:none}
.three-steps__tabs button[aria-selected=true]{color:var(--violet)}
.three-steps__tabs button[aria-selected=true] span{color:var(--violet)}
.three-steps__panels{display:grid}
.three-steps__panel{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:5%;align-items:center;margin-bottom:3rem}
.three-steps__copy{min-width:0}
.three-steps__copy dl{margin:0}
.three-steps__copy dl>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.4rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.three-steps__copy dl>div:first-child{padding-top:0}
.three-steps__copy dl>div:last-child{border:0;padding-bottom:0}
.three-steps__copy dt{font-size:1.25rem;font-weight:500;color:var(--ink)}
.three-steps__copy dd{margin:0;font-size:1.38rem;line-height:1.55;color:#5d5965}
.three-steps__copy dl>div:last-child dd{color:var(--ink)}
.three-steps__linear-title{font-size:1.4rem;color:var(--violet);margin-bottom:1.4rem}
.three-steps__action{margin-top:1.8rem}
.three-steps__action .button{font-size:1rem;min-height:48px}
.three-steps.is-pinned{height:calc(100svh + var(--flow-travel,180svh))}
.three-steps.is-pinned .three-steps__pin{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.three-steps.is-pinned .three-steps__panel{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none;margin:0}
.three-steps.is-pinned .three-steps__panel.is-active{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.three-steps.is-pinned .three-steps__panel.is-leaving{animation:step-leave .22s ease-in both}
.three-steps.is-pinned .three-steps__panel.is-entering{animation:step-enter .48s cubic-bezier(.2,.65,.25,1) both}
@keyframes step-leave{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-5px)}}
@keyframes step-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.three-steps.is-pinned .three-steps__linear-title{display:none}
.three-steps.is-linear .three-steps__heading{position:sticky;top:0;padding-block:1rem .6rem;background:#faf9fc;z-index:4}
.three-steps.is-linear .three-steps__heading h2{font-size:2rem}
.three-steps.is-linear .three-steps__tabs{margin-top:.8rem}
.three-steps.is-linear .three-steps__panel{scroll-margin-top:11rem}
@media(max-width:1100px){
 .three-steps__panel{gap:4%;grid-template-columns:minmax(0,1fr) 13rem}
 .three-steps__copy dl>div{grid-template-columns:4.7rem minmax(0,1fr);gap:.7rem;padding-block:1rem}
 .three-steps__copy dd{font-size:1.2rem}
 .three-steps__heading h2{font-size:2.25rem}
 .three-steps__pin{padding-block:2.4rem}
}
@media(max-width:800px){
 .three-steps__panel{grid-template-columns:1fr;gap:1.6rem;margin-bottom:3.5rem}
 .three-steps__heading h2,.three-steps.is-linear .three-steps__heading h2{font-size:2rem;max-width:20rem}
 .three-steps__tabs{gap:.8rem;margin-top:1rem}
 .three-steps__tabs button{gap:.4rem;font-size:1.07rem;min-height:48px;padding-bottom:.7rem}
 .three-steps__tabs button span{font-size:1rem}
 .three-steps__heading{margin-bottom:1.5rem}
 .three-steps__copy dl>div{grid-template-columns:4.5rem minmax(0,1fr);gap:.7rem;padding-block:1rem}
 .three-steps__copy dt,.three-steps__copy dd{font-size:1.07rem;line-height:1.5}
 .three-steps__pin{padding-block:1.5rem 2.4rem}
 .three-steps__action{margin-top:0}
 .three-steps.is-linear .three-steps__heading{padding-top:1rem}
 .three-steps.is-linear .three-steps__panel{scroll-margin-top:12rem}
}
@media(max-width:360px){.three-steps__tabs{gap:.55rem}.three-steps__tabs button{gap:.3rem;font-size:.97rem}.three-steps__copy dl>div{grid-template-columns:1fr;gap:.3rem}}
@media(prefers-reduced-motion:reduce){.three-steps *,.three-steps *::after{transition:none!important;animation:none!important}}

.three-steps__illustration{width:17rem;height:16rem;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0;pointer-events:none}
.three-steps__illustration img{height:330px;width:auto;max-width:none;flex:none}
.three-steps__illustration[data-illustration="0"] img{height:350px}
.three-steps__illustration[data-illustration="1"] img{height:250px}
@media(max-width:1100px){.three-steps__illustration{width:13rem;height:15rem}}
@media(max-width:800px){
 .three-steps__illustration{width:12rem;height:10rem;justify-self:end}
 .three-steps__illustration img{height:260px}
 .three-steps__illustration[data-illustration="0"] img{height:275px}
 .three-steps__illustration[data-illustration="1"] img{height:200px}
}
