.dsp{--dsp-gap:16px;--dsp-mk:56px;--dsp-ease:cubic-bezier(.2,.8,.2,1);background:var(--dsp-bg);color:var(--dsp-text);padding-top:var(--dsp-pt-m);padding-bottom:var(--dsp-pb-m);overflow:hidden}
.dsp.dsp--compact{--dsp-mk:44px}
.dsp .dsp__inner{max-width:var(--dsp-w);margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}
.dsp .dsp__head{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;text-align:var(--dsp-align);align-items:var(--dsp-items)}
.dsp.dsp--compact .dsp__head{margin-bottom:24px;gap:8px}
.dsp .dsp__eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dsp-soft);display:inline-flex;align-items:center;gap:10px}
.dsp .dsp__eyebrow::before{content:"";width:24px;height:1.5px;background:var(--dsp-accent)}
.dsp .dsp__heading{margin:0;font-family:var(--font-heading-family,inherit);font-size:var(--dsp-hs-m);line-height:1.02;letter-spacing:-.03em;font-weight:800;color:var(--dsp-text);text-transform:var(--dsp-tt)}
.dsp .dsp__heading em{font-style:normal;background:var(--dsp-text);color:var(--dsp-bg);padding:0 .14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.dsp .dsp__sub{max-width:560px;font-size:15px;line-height:1.55;color:var(--dsp-soft)}
.dsp .dsp__sub p{margin:0}
.dsp .dsp__track{list-style:none;margin:0;padding:0;display:grid;gap:var(--dsp-gap)}
.dsp .dsp__step{position:relative;display:grid;grid-template-columns:var(--dsp-mk) 1fr;column-gap:16px;align-items:start;cursor:pointer;outline:none}
.dsp .dsp__link{position:absolute;inset:0;z-index:2;outline:none;-webkit-tap-highlight-color:transparent}
.dsp .dsp__link:focus-visible~.dsp__card{outline:2px solid var(--dsp-accent);outline-offset:2px}
.dsp .dsp__marker{position:relative;z-index:1;width:var(--dsp-mk);height:var(--dsp-mk);border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--dsp-border);background:var(--dsp-bg);color:var(--dsp-text);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.02em;transition:background-color .25s var(--dsp-ease),color .25s var(--dsp-ease),border-color .25s var(--dsp-ease),transform .25s var(--dsp-ease)}
.dsp.dsp--compact .dsp__marker{font-size:13px}
.dsp .dsp__seg{position:absolute;left:calc(var(--dsp-mk) / 2 - 1px);top:calc(var(--dsp-mk) + 8px);width:2px;height:calc(100% + var(--dsp-gap) - var(--dsp-mk) - 16px);background:var(--dsp-border);overflow:hidden}
.dsp .dsp__seg i{position:absolute;inset:0;background:var(--dsp-accent);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--dsp-ease)}
.dsp .dsp__card{position:relative;background:var(--dsp-card);border:1px solid var(--dsp-border);border-radius:var(--dsp-radius);padding:20px;overflow:hidden;transition:background-color .25s var(--dsp-ease),color .25s var(--dsp-ease),border-color .25s var(--dsp-ease),transform .25s var(--dsp-ease)}
.dsp.dsp--compact .dsp__card{padding:16px}
.dsp .dsp__media{margin:-20px -20px 16px;aspect-ratio:4/3;overflow:hidden;background:var(--dsp-border)}
.dsp .dsp__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s var(--dsp-ease)}
.dsp .dsp__step.is-active .dsp__media img{transform:scale(1.04)}
.dsp .dsp__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.dsp .dsp__label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.dsp .dsp__icon{width:32px;height:32px;display:grid;place-items:center;flex:none}
.dsp .dsp__icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dsp .dsp__here{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:999px;background:var(--dsp-accent);color:var(--dsp-act-text);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dsp .dsp__title{margin:0 0 8px;font-family:var(--font-heading-family,inherit);font-size:20px;line-height:1.15;letter-spacing:-.01em;font-weight:700;color:inherit}
.dsp.dsp--compact .dsp__title{font-size:16px;margin-bottom:6px}
.dsp .dsp__text{font-size:14px;line-height:1.55;opacity:.78}
.dsp.dsp--compact .dsp__text{font-size:13px}
.dsp .dsp__text p{margin:0}
.dsp .dsp__text p+p{margin-top:8px}
.dsp .dsp__tag{display:inline-flex;margin-top:14px;padding:6px 10px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.dsp .dsp__more{display:flex;align-items:center;gap:8px;width:fit-content;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dsp .dsp__more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s var(--dsp-ease)}
.dsp .dsp__step:hover .dsp__more svg,.dsp .dsp__step.is-active .dsp__more svg{transform:translateX(4px)}
.dsp .dsp__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}
.dsp .dsp__bar i{position:absolute;inset:0;background:var(--dsp-accent);transform:scaleX(0);transform-origin:left}
.dsp .dsp__step:hover .dsp__marker,.dsp .dsp__step:focus-visible .dsp__marker{border-color:var(--dsp-text)}
.dsp .dsp__step:focus-visible .dsp__card{outline:2px solid var(--dsp-accent);outline-offset:2px}
.dsp .dsp__step.is-done .dsp__marker{background:var(--dsp-accent);border-color:var(--dsp-accent);color:var(--dsp-act-text)}
.dsp .dsp__step.is-done .dsp__seg i{transform:scaleY(1)}
.dsp .dsp__step.is-active .dsp__marker{background:var(--dsp-act-bg);border-color:var(--dsp-act-bg);color:var(--dsp-act-text);transform:scale(1.06)}
.dsp .dsp__step.is-active .dsp__card{background:var(--dsp-act-bg);border-color:var(--dsp-act-bg);color:var(--dsp-act-text)}
.dsp.is-auto.is-visible .dsp__step.is-active .dsp__seg i{animation:dsp-fill-y var(--dsp-dur) linear forwards}
.dsp.is-auto.is-visible .dsp__step.is-active .dsp__bar i{animation:dsp-fill-x var(--dsp-dur) linear forwards}
.dsp.is-hover .dsp__step.is-active .dsp__seg i,.dsp.is-hover .dsp__step.is-active .dsp__bar i{animation-play-state:paused}
@keyframes dsp-fill-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes dsp-fill-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.dsp .dsp__step{opacity:0;transform:translateY(16px);transition:opacity .4s var(--dsp-ease),transform .4s var(--dsp-ease);transition-delay:calc(var(--i,0) * 80ms)}
.dsp.is-in .dsp__step,.dsp.no-js .dsp__step{opacity:1;transform:none}
.dsp .dsp__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;justify-content:var(--dsp-items)}
.dsp .dsp__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--dsp-btn-r);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--dsp-btn-bg);background:var(--dsp-btn-bg);color:var(--dsp-btn-text);transition:transform .2s var(--dsp-ease),background-color .2s var(--dsp-ease),color .2s var(--dsp-ease)}
.dsp .dsp__btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s var(--dsp-ease)}
.dsp .dsp__btn:hover svg{transform:translateX(4px)}
.dsp .dsp__btn:hover{transform:translateY(-2px)}
.dsp .dsp__btn--ghost{background:transparent;color:var(--dsp-text);border-color:var(--dsp-text)}
.dsp .dsp__dots{display:none;justify-content:center;gap:4px;margin-top:20px}
.dsp .dsp__dot{position:relative;width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dsp .dsp__dot::before{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:99px;background:var(--dsp-border);transform:translate(-50%,-50%);transition:width .3s var(--dsp-ease),background-color .3s var(--dsp-ease)}
.dsp .dsp__dot.is-current::before{width:22px;background:var(--dsp-accent)}
.dsp .dsp__dot:focus-visible{outline:2px solid var(--dsp-accent);outline-offset:-2px;border-radius:99px}
@media screen and (max-width:989px){
.dsp.dsp--carousel .dsp__track{grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(clamp(16px,4vw,48px) * -1);padding-inline:clamp(16px,4vw,48px);scroll-padding-inline:clamp(16px,4vw,48px);padding-bottom:4px;-webkit-overflow-scrolling:touch}
.dsp.dsp--carousel .dsp__track::-webkit-scrollbar{display:none}
.dsp.dsp--carousel .dsp__step{grid-template-columns:1fr;grid-template-rows:auto 1fr;row-gap:14px;scroll-snap-align:start}
.dsp.dsp--carousel .dsp__card{height:100%}
.dsp.dsp--carousel .dsp__seg{left:calc(var(--dsp-mk) + 8px);top:calc(var(--dsp-mk) / 2 - 1px);width:calc(100% + var(--dsp-gap) - var(--dsp-mk) - 16px);height:2px}
.dsp.dsp--carousel .dsp__seg i{transform:scaleX(0);transform-origin:left}
.dsp.dsp--carousel .dsp__step.is-done .dsp__seg i{transform:scaleX(1)}
.dsp.dsp--carousel.is-auto.is-visible .dsp__step.is-active .dsp__seg i{animation-name:dsp-fill-x}
.dsp.dsp--carousel .dsp__dots{display:flex}
}
@media screen and (min-width:750px){
.dsp{padding-top:var(--dsp-pt);padding-bottom:var(--dsp-pb)}
.dsp .dsp__heading{font-size:var(--dsp-hs)}
.dsp .dsp__head{margin-bottom:48px}
.dsp.dsp--compact .dsp__head{margin-bottom:28px}
}
@media screen and (min-width:750px) and (max-width:989px){.dsp.dsp--carousel .dsp__track{grid-auto-columns:44%}}
@media screen and (min-width:990px){
.dsp{--dsp-gap:20px}
.dsp .dsp__track{grid-auto-flow:row;grid-template-columns:repeat(var(--dsp-n),minmax(0,1fr))}
.dsp .dsp__step{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:stretch;row-gap:20px}
.dsp.dsp--compact .dsp__step{row-gap:14px}
.dsp .dsp__seg{left:calc(var(--dsp-mk) + 8px);top:calc(var(--dsp-mk) / 2 - 1px);width:calc(100% + var(--dsp-gap) - var(--dsp-mk) - 16px);height:2px}
.dsp .dsp__seg i{transform:scaleX(0);transform-origin:left}
.dsp .dsp__step.is-done .dsp__seg i{transform:scaleX(1)}
.dsp.is-auto.is-visible .dsp__step.is-active .dsp__seg i{animation-name:dsp-fill-x}
.dsp .dsp__step.is-active .dsp__card{transform:translateY(-6px)}
.dsp .dsp__card{padding:24px}
.dsp .dsp__media{margin:-24px -24px 20px}
.dsp.dsp--compact .dsp__card{padding:18px}
.dsp .dsp__title{font-size:22px}
.dsp.dsp--compact .dsp__title{font-size:17px}
.dsp .dsp__ctas{margin-top:48px}
.dsp.dsp--compact .dsp__ctas{margin-top:28px}
}
@media (prefers-reduced-motion:reduce){.dsp *,.dsp *::before{transition:none!important;animation:none!important}.dsp .dsp__step{opacity:1;transform:none}}