/* Promo-only connected progression; typography inherits the shared 64/48 hierarchy. */
.price-end.promo-journey{position:relative;isolation:isolate;margin-top:64px;padding:56px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(ellipse at 92% 6%,var(--mint),transparent 62%),var(--surface);overflow:hidden}
.promo-journey__header{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding-bottom:32px}
.promo-journey__header h2{margin:0;text-wrap:balance}

.promo-journey .promo-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin:40px 0 0;padding:0;background:transparent;border:0;list-style:none}
.promo-journey .promo-step{position:relative;min-width:0;z-index:0}
.promo-step:not(:last-child):before{content:'';position:absolute;z-index:-1;left:36px;top:36px;width:calc(100% + 48px);height:0;border-top:1px solid var(--line)}
.promo-step:not(:last-child):after{content:'';position:absolute;z-index:-1;left:36px;top:35px;width:48px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--p),var(--green-bright,#29ae87));opacity:.8}
.promo-step__node{position:relative;display:flex;align-items:flex-end;width:72px;height:72px;margin-bottom:28px;padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--surface),var(--mint));color:var(--p);box-shadow:0 4px 0 var(--mint2),0 8px 16px #0b2d1f0a}
.promo-step__node:before{content:'';position:absolute;inset:3px;border-radius:12px;border:1px solid var(--surface);pointer-events:none;opacity:.6}
.promo-step__node span{position:relative;font-size:28px;line-height:32px;letter-spacing:-.025em;font-weight:600;font-variant-numeric:tabular-nums}
.promo-step__node svg{position:absolute;top:10px;right:10px;width:20px;height:20px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.promo-step__copy h3{font-size:24px;line-height:32px;letter-spacing:-.01em;font-weight:600;margin:0 0 8px;color:var(--ink)}
.price-end.promo-journey .promo-step__copy p{font-size:16px;line-height:24px;letter-spacing:0;color:var(--text);max-width:264px;margin:0}
html[data-theme=dark] .promo-step__node{border-color:#3e6950;box-shadow:0 4px 0 #0b2d1f,0 10px 20px #00000014}
@media(max-width:1100px){.price-end.promo-journey{padding:40px}.promo-journey .promo-steps{gap:32px}.promo-step:not(:last-child):before{width:calc(100% + 32px)}}
@media(max-width:700px){
 .price-end.promo-journey{margin-top:40px;padding:28px 24px;border-radius:16px}
 .promo-journey__header{padding-bottom:28px;gap:0}
 .promo-journey .promo-steps{display:block;margin-top:32px}
 .promo-journey .promo-step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:0 0 40px}
 .promo-journey .promo-step:last-child{padding-bottom:0}
 .promo-step__node{width:64px;height:64px;border-radius:14px;margin:0;padding:12px}
 .promo-step__node:before{border-radius:10px}.promo-step__node svg{width:16px;height:16px;top:8px;right:8px}
 .promo-step__node span{font-size:24px;line-height:28px}
 .promo-step__copy{padding-top:4px}.promo-step__copy h3{font-size:24px;line-height:32px}
 .promo-step:not(:last-child):before{left:31px;top:64px;bottom:0;width:0;height:auto;border:0;border-left:1px solid var(--line);border-radius:0}
 .promo-step:not(:last-child):after{left:30px;top:76px;width:3px;height:20px;background:linear-gradient(var(--p),var(--green-bright,#29ae87))}
}
@media(max-width:360px){.price-end.promo-journey{padding-inline:20px}.promo-journey .promo-step{grid-template-columns:56px minmax(0,1fr);gap:16px}.promo-step__node{width:56px;height:64px}.promo-step:not(:last-child):before{left:27px}.promo-step:not(:last-child):after{left:26px}}
