/* Pointer effects decorate the timeline without hiding or moving its content. */
.lp-process .lp-step{isolation:isolate;--step-tint:35,126,255;--step-x:50%;--step-y:50%}
.lp-process .lp-step:nth-child(2){--step-tint:143,87,255}
.lp-process .lp-step:nth-child(3){--step-tint:0,163,212}
.lp-process .lp-step::after{content:"";position:absolute;inset:9px -20px;z-index:-1;pointer-events:none;border-radius:20px;border:1px solid rgba(var(--step-tint),.12);background:radial-gradient(ellipse 230px 160px at var(--step-x) var(--step-y),rgba(var(--step-tint),.13),transparent 75%),linear-gradient(115deg,#f5faffcc,#fff6 60%,#f3efff8c);box-shadow:0 9px 28px rgba(var(--step-tint),.07);opacity:0;transform:translateY(5px) scale(.99);transition:opacity .25s,transform .35s cubic-bezier(.2,.75,.2,1)}
.lp-process .lp-step::before{transition:box-shadow .3s,transform .3s,background .3s}
.lp-step-index{position:relative;transition:transform .38s cubic-bezier(.2,.8,.2,1);transform-origin:50% 55%}
.lp-step-index>span{transition:filter .3s,color .3s}
.lp-step-index svg{transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .3s}
.lp-step-copy{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.lp-step-copy h3{transition:color .25s}
@media(hover:hover) and (pointer:fine){
.lp-process .lp-step:hover::after,.lp-process .lp-step.is-pointerover::after{opacity:1;transform:translateY(0) scale(1)}
.lp-process .lp-step:hover::before{background:rgb(var(--step-tint));box-shadow:0 0 0 6px rgba(var(--step-tint),.1),0 0 19px rgba(var(--step-tint),.35);transform:scale(1.12)}
.lp-process .lp-step:hover .lp-step-index{transform:perspective(500px) translateY(-5px) rotateY(var(--step-turn,0deg)) rotate(-3deg)}
.lp-process .lp-step:hover .lp-step-index>span{color:transparent;background:linear-gradient(120deg,#058cff,#665aff 65%,#aa57f3);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 7px 7px rgba(var(--step-tint),.2))}
.lp-process .lp-step:hover .lp-step-index svg{transform:translateY(-2px) rotate(8deg);filter:drop-shadow(0 5px 6px rgba(var(--step-tint),.2))}
.lp-process .lp-step:hover .lp-step-index svg path{stroke-dasharray:180;stroke-dashoffset:0;animation:process-icon-draw .7s ease-out both}
.lp-process .lp-step:hover .lp-step-copy{transform:translateX(5px)}
.lp-process .lp-step:hover h3{color:#176cdf}
.lp-process .lp-step:nth-child(2):hover h3{color:#7e4bd0}
}
@keyframes process-icon-draw{from{stroke-dashoffset:180}to{stroke-dashoffset:0}}
@media(max-width:760px){.lp-process .lp-step::after{inset:8px -10px}}
@media(prefers-reduced-motion:reduce){.lp-process .lp-step::after,.lp-process .lp-step::before,.lp-step-index,.lp-step-index>span,.lp-step-index svg,.lp-step-copy,.lp-step-copy h3{transition:none}.lp-process .lp-step:hover .lp-step-index,.lp-process .lp-step:hover .lp-step-index svg,.lp-process .lp-step:hover .lp-step-copy,.lp-process .lp-step:hover::before{transform:none}.lp-process .lp-step:hover .lp-step-index svg path{animation:none}.lp-process .lp-step::after{transform:none}}
/* Handwritten floating promise beside the process illustration. */
.lp-process .lp-ideas-scene .lp-floating-promise{display:block;font-size:25px;line-height:1.45;right:-16px;top:22%;max-width:190px;color:#197aff;text-align:center;pointer-events:none;text-shadow:0 2px 0 #fff,0 5px 13px #5f7ec32b;animation:process-promise-float 4.6s ease-in-out infinite;transform-origin:50% 60%}
@keyframes process-promise-float{0%,100%{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-10px) rotate(-6deg)}}
@media(min-width:701px) and (max-width:1100px){.lp-process .lp-ideas-scene .lp-floating-promise{font-size:20px;top:0;right:-7px;max-width:160px}}
@media(max-width:700px){.lp-process .lp-ideas-scene .lp-floating-promise{font-size:19px;top:-12px;right:0;max-width:150px;line-height:1.35}}
@media(prefers-reduced-motion:reduce){.lp-process .lp-ideas-scene .lp-floating-promise{animation:none;transform:rotate(-7deg)}}
.lp-step-action{grid-column:1/-1;display:grid;grid-template-columns:inherit;gap:inherit;color:inherit;text-decoration:none;min-width:0;border-radius:13px}
.lp-step-action:focus-visible{outline:3px solid #687cff;outline-offset:8px}
.lp-process .lp-step:focus-within::after{opacity:1;transform:none}
.lp-process .lp-step:focus-within::before{box-shadow:0 0 0 6px #2380ff1a;background:#2380ff}
#packages{scroll-margin-top:20px}
/* The same pointer light and number lift on accessible FAQ summaries. */
.lp-faq .lp-faq-list details{--step-tint:35,126,255}
.lp-faq .lp-faq-list details:nth-child(even){--step-tint:143,87,255}
.lp-faq .lp-faq-list summary{position:relative;isolation:isolate;--step-x:50%;--step-y:50%}
.lp-faq .lp-faq-list summary::after{content:"";position:absolute;inset:3px;z-index:-1;pointer-events:none;border:1px solid rgba(var(--step-tint),.14);border-radius:15px;background:radial-gradient(ellipse 230px 135px at var(--step-x) var(--step-y),rgba(var(--step-tint),.16),transparent 78%),linear-gradient(115deg,#edf7ffb0,#f6f0ff77);opacity:0;transition:opacity .25s}
.lp-faq .lp-faq-list summary .lp-faq-number,.lp-faq .lp-faq-list details[open] summary .lp-faq-number{transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .3s}
.lp-faq .lp-faq-list summary .lp-faq-question,.lp-faq .lp-faq-list details[open] summary .lp-faq-question{transition:transform .3s,color .25s}
.lp-faq .lp-faq-list summary .lp-faq-toggle{transition:transform .3s,box-shadow .3s}
@media(hover:hover) and (pointer:fine){
.lp-faq .lp-faq-list summary:hover::after{opacity:1}
.lp-faq .lp-faq-list summary:hover .lp-faq-number,.lp-faq .lp-faq-list details[open] summary:hover .lp-faq-number{transform:perspective(500px) translateY(-4px) rotateY(var(--step-turn,0deg)) rotate(-4deg);color:transparent;background:linear-gradient(120deg,#058cff,#665aff 65%,#aa57f3);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 5px 6px rgba(var(--step-tint),.2))}
.lp-faq .lp-faq-list summary:hover .lp-faq-question{transform:translateX(4px);color:rgb(var(--step-tint))}
.lp-faq .lp-faq-list summary:hover .lp-faq-toggle{transform:translateY(-2px) scale(1.08);box-shadow:0 5px 15px rgba(var(--step-tint),.22)}
}
.lp-faq .lp-faq-list summary:focus-visible::after{opacity:1}
@media(prefers-reduced-motion:reduce){.lp-faq .lp-faq-list summary::after,.lp-faq .lp-faq-list summary .lp-faq-number,.lp-faq .lp-faq-list details[open] summary .lp-faq-number,.lp-faq .lp-faq-list summary .lp-faq-question,.lp-faq .lp-faq-list details[open] summary .lp-faq-question,.lp-faq .lp-faq-list summary .lp-faq-toggle{transition:none}.lp-faq .lp-faq-list summary:hover .lp-faq-number,.lp-faq .lp-faq-list details[open] summary:hover .lp-faq-number,.lp-faq .lp-faq-list summary:hover .lp-faq-question,.lp-faq .lp-faq-list summary:hover .lp-faq-toggle{transform:none}}
