/* Content remains visible without JavaScript or when reduced motion is on. */
.reveal-pending{opacity:0;transform:translateY(44px) scale(.98);transition:opacity .8s ease var(--reveal-delay,0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.reveal-pending.is-visible{opacity:1;transform:none}
.journey-banner{overflow:hidden;position:relative;isolation:isolate}
.ribbon-motion{position:relative;animation:ribbon-drift 8s ease-in-out infinite;animation-play-state:paused;transform-origin:center;will-change:transform}
.journey-banner.motion-in-view .ribbon-motion{animation-play-state:running}
.ribbon-motion img{position:relative;z-index:1;transition:transform .12s linear;will-change:transform}
.ribbon-motion::before{content:'';position:absolute;inset:5% 0;border-radius:50%;background:radial-gradient(ellipse,#ac9dfc44,transparent 70%);animation:graphic-glow 7s ease-in-out infinite;animation-play-state:inherit}
.showcase-stage .float-note,.showcase-stage .orbit{animation-play-state:paused}
.showcase-stage.motion-in-view .float-note,.showcase-stage.motion-in-view .orbit{animation-play-state:running}
.orbit{animation:orbit-sweep 12s ease-in-out infinite}.orbit-two{animation-delay:-6s}
.workflow{margin-top:0;margin-bottom:100px;padding:42px;border-radius:24px;background:#f7f6ff;border:1px solid #e6e1ff}
.workflow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.workflow h2{font-size:42px;letter-spacing:-.045em;margin:0 0 12px}
.workflow-heading p{font-size:16px;color:var(--muted);line-height:1.6;margin:0;max-width:630px}
.motion-toggle{white-space:nowrap;border:1px solid #d9d3f3;background:white;border-radius:8px;min-height:40px;padding:0 16px;font-size:12px;color:var(--ink)}
.motion-toggle:disabled{color:var(--muted);cursor:default}
.flow-graphic{position:relative;margin:42px 0 30px}
.flow-line{position:absolute;left:12%;top:20px;width:76%;height:40px;overflow:visible;pointer-events:none}
.flow-base{fill:none;stroke:#dad3f7;stroke-width:3}
.flow-trace{fill:none;stroke:var(--violet);stroke-width:4;stroke-dasharray:40 110;animation:flow-current 8s linear infinite;animation-play-state:paused;filter:drop-shadow(0 0 3px #6554e835)}
.workflow.motion-in-view .flow-trace{animation-play-state:running}
.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.flow-steps button{border:0;background:transparent;text-align:center;font-size:15px;color:var(--ink);display:flex;align-items:center;flex-direction:column;padding:0 8px}
.flow-node{display:grid;place-items:center;width:64px;height:64px;border:1px solid #ded8f9;border-radius:18px;background:#fff;font-size:18px;font-weight:700;margin-bottom:16px;transition:transform .3s,background .3s,color .3s,box-shadow .3s}
.flow-steps button[aria-selected=true] .flow-node{background:var(--violet);color:white;box-shadow:0 12px 25px #6554e830;transform:translateY(-5px)}
.flow-steps button:hover .flow-node{transform:translateY(-5px) rotate(-5deg)}
.flow-steps small{font-size:11px;color:var(--muted);margin-top:8px}
.flow-detail{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;background:white;border-radius:14px;min-height:130px}
.flow-detail h3{margin:0 0 8px;font-size:21px;letter-spacing:-.025em}
.flow-detail p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:680px}
.flow-detail a{font-size:13px;color:var(--violet);font-weight:700;white-space:nowrap}
.home-pricing{padding-bottom:90px;scroll-margin-top:40px}.home-pricing .section-title{margin-bottom:20px}
.pricing-intro{text-align:center;color:var(--muted);font-size:18px;line-height:1.6;margin:0 0 42px}
.home-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-plan{border:1px solid var(--line);border-radius:20px;padding:30px;background:white}
.home-plan.plan-platinum{border:2px solid var(--violet);background:#f7f5ff}
.home-plan h3{font-size:23px;letter-spacing:-.03em;margin:0 0 12px}.plan-purpose{color:var(--muted);font-size:14px;line-height:1.6;margin:0}
.home-price{display:flex;flex-direction:column;gap:10px;margin:26px 0}.home-price strong{font-size:52px;letter-spacing:-.055em}.home-price span{font-size:12px;color:var(--muted)}
.home-plan .button{width:100%}.home-plan ul{list-style:none;padding:0;margin:26px 0 0}.home-plan li{font-size:13px;line-height:1.6;padding:12px 0;border-bottom:1px solid var(--line)}.home-plan li::before{content:'✓';color:var(--violet);margin-right:10px}
.pricing-note{font-size:13px;line-height:1.7;color:var(--muted);text-align:center;margin-top:28px}.pricing-note a{color:var(--violet);text-decoration:underline}
html[data-motion=paused] .reveal-pending{opacity:1;transform:none}
html[data-motion=paused] .float-note,html[data-motion=paused] .orbit,html[data-motion=paused] .ribbon-motion,html[data-motion=paused] .ribbon-motion::before,html[data-motion=paused] .flow-trace{animation-play-state:paused!important}
@keyframes ribbon-drift{0%,100%{transform:translate3d(0,0,0) rotate(-2deg) scale(1)}50%{transform:translate3d(0,-18px,0) rotate(3deg) scale(1.07)}}
@keyframes graphic-glow{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:.85;transform:scale(1.15)}}
@keyframes orbit-sweep{0%,100%{translate:0 0;scale:1}50%{translate:10px -12px;scale:1.06}}
@keyframes flow-current{to{stroke-dashoffset:-600}}
@media(max-width:900px){.home-plan-grid{gap:16px}.home-plan{padding:24px}.workflow{padding:32px}.workflow h2{font-size:35px}.flow-steps small{font-size:10px}.flow-detail{padding:20px}}
@media(max-width:650px){.workflow{padding:26px 20px;margin-bottom:55px}.workflow-heading{display:block}.workflow h2{font-size:30px}.workflow-heading p{font-size:14px}.motion-toggle{margin-top:20px}.flow-graphic{margin:32px 0 24px}.flow-steps{gap:2px}.flow-steps button{padding:0 2px;font-size:12px}.flow-node{width:48px;height:48px;border-radius:13px;font-size:14px}.flow-line{top:5px}.flow-steps small{font-size:9px;line-height:1.5;max-width:68px}.flow-detail{display:block;min-height:190px;padding:20px}.flow-detail h3{font-size:19px}.flow-detail p{font-size:13px;margin-bottom:16px}.home-plan-grid{grid-template-columns:1fr;gap:18px}.home-plan{padding:28px}.pricing-intro{font-size:16px}.home-pricing{padding-bottom:50px}.home-price{margin:20px 0}.ribbon-motion{animation-name:ribbon-drift-mobile}.reveal-pending{transform:translateY(26px)}}
@keyframes ribbon-drift-mobile{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.ribbon-motion img{transform:none!important}.flow-node{transform:none!important}}

.orbit{width:55%;max-width:340px;height:180px}.orbit-one{left:20px}.orbit-two{right:20px}
