/* Bipalo motion: locally rendered, decorative, and independent of measurements. */
.bp-bipo-scene{position:relative;isolation:isolate}
.bp-bipo-art{display:block;position:relative;z-index:2;transform-origin:50% 88%}
.bp-bipo-route{position:absolute;inset:-7%;width:114%;height:114%;overflow:visible;z-index:0;color:#6eaa9c;pointer-events:none}
.bp-bipo-route-base{stroke:currentColor;stroke-width:1;stroke-dasharray:1 2;opacity:.35}
.bp-bipo-route-trail{stroke:#e99761;stroke-width:2;stroke-linecap:round;stroke-dasharray:15 85;animation:bp-route-draw 7s linear infinite}
.bp-bipo-marker{fill:#79bdaa}
.bp-bipo-marker-ring{fill:none;stroke:currentColor;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:bp-marker-pulse 4.8s ease-out infinite;animation-delay:var(--marker-delay)}
.bp-bipo-map-pin{fill:#ef9b65;stroke:#ffd8af;stroke-width:1;transform-box:fill-box;transform-origin:50% 100%;animation:bp-pin-nod 5.8s ease-in-out infinite}
.bp-bipo-pin-eye{fill:#fff3d6}
.bp-bipo-ground{position:absolute;bottom:2%;left:27%;width:51%;height:6%;border-radius:50%;background:#124a3e20;filter:blur(4px);z-index:1;animation:bp-ground-breathe 5.8s ease-in-out infinite}
.bp-bipo-scene img{transform-origin:50% 88%;animation:bp-bipo-alive 5.8s cubic-bezier(.37,0,.63,1) infinite}
.bp-bipo-scene[data-bipo-pose=guide] img{animation-delay:-1.6s}
.bp-bipo-scene[data-bipo-pose=analysis] img{animation-delay:-3.4s;animation-name:bp-bipo-inspect}
.bp-bipo-scene.is-greeting .bp-bipo-art{animation:bp-bipo-greet .85s cubic-bezier(.2,.8,.2,1) both}
.bp-hero-guide .bp-bipo-route{color:#a8d5c2}
.bp-mascot-help .bp-bipo-route,.bp-mascot-analysis .bp-bipo-route{opacity:.55}
.bp-mascot-help .bp-bipo-ground{opacity:.5}
.bp-mascot-auth .bp-bipo-ground{background:#001b1c4d}
.journey-visual.bp-journey-mascot::before,.journey-visual.bp-journey-mascot::after{display:none}

/* Visible immediately; entry motion never hides the copy. */
.bp-reveal-pending{opacity:1;transform:none}
.bp-reveal-visible{animation:bp-section-arrive .6s cubic-bezier(.2,.75,.2,1) backwards}
.bp-motion-ready .bp-hero-copy,.bp-motion-ready .bp-map-stage{animation:bp-section-arrive .7s cubic-bezier(.2,.75,.2,1) backwards}
.bp-motion-ready .bp-map-stage{animation-duration:1s}
.bp-feature-panel:not([hidden]),.bp-sector-panel:not([hidden]){animation:bp-tab-arrive .42s cubic-bezier(.2,.75,.2,1) both}
.bp-feature-panel:not([hidden]) .bp-feature-copy{animation:bp-section-arrive .55s ease-out both}
.bp-capability-grid .bp-reveal-visible:nth-child(3n+2){animation-delay:70ms}
.bp-capability-grid .bp-reveal-visible:nth-child(3n+3){animation-delay:140ms}
.bp-workflow-steps li{--step-delay:0s}
.bp-workflow-steps li:nth-child(2){--step-delay:2s}
.bp-workflow-steps li:nth-child(3){--step-delay:4s}
.bp-workflow-steps li:nth-child(4){--step-delay:6s}
.bp-workflow-steps .bp-step-icon{animation:bp-step-focus 8s ease-in-out infinite;animation-delay:var(--step-delay)}
.bp-workflow-steps li:not(:last-child)::after{animation:bp-step-route 8s linear infinite;animation-delay:var(--step-delay)}
.bp-hero-foot .bp-route-mini{position:relative;color:#bfe8c9}
.bp-hero-foot .bp-route-mini::after{content:'';position:absolute;left:0;top:50%;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:#f3ac75;box-shadow:0 0 0 3px #f3ac7520;animation:bp-route-travel 5s ease-in-out infinite}
.bp-button>.bp-icon,.bp-text-link>.bp-icon,.bp-card-link>.bp-icon{transition:transform .25s cubic-bezier(.2,.75,.2,1)}
.bp-button:hover>.bp-icon:last-child,.bp-text-link:hover>.bp-icon,.bp-capability:hover .bp-card-link>.bp-icon{transform:translateX(4px)}
.bp-button:active,.simple-workspace .btn:active:not(:disabled){transform:translateY(1px) scale(.985)}
.bp-product-tabs button,.bp-sector-tabs button{transition:background .22s,color .22s,box-shadow .22s,transform .22s}
.bp-product-tabs button:active,.bp-sector-tabs button:active{transform:scale(.975)}

@keyframes bp-bipo-alive{0%,100%{transform:translateY(0) rotate(0) scale(1)}12%{transform:translateY(-5px) rotate(-2deg) scale(1.01)}24%{transform:translateY(0) rotate(1deg) scale(1)}52%{transform:translateY(-9px) rotate(1.5deg) scale(1.012)}76%{transform:translateY(-2px) rotate(-1.5deg) scale(1)}}
@keyframes bp-bipo-inspect{0%,100%{transform:translateY(0) rotate(0)}28%{transform:translateY(-5px) rotate(-4deg)}52%{transform:translateY(-2px) rotate(2deg)}76%{transform:translateY(-7px) rotate(-1deg)}}
@keyframes bp-bipo-greet{0%,100%{transform:rotate(0) translateY(0)}22%{transform:rotate(-6deg) translateY(-7px)}46%{transform:rotate(5deg) translateY(-2px)}70%{transform:rotate(-2deg) translateY(-3px)}}
@keyframes bp-ground-breathe{0%,24%,100%{transform:scaleX(1);opacity:.6}52%{transform:scaleX(.8);opacity:.35}76%{transform:scaleX(.95);opacity:.5}}
@keyframes bp-route-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes bp-marker-pulse{0%,100%{transform:scale(.55);opacity:.18}30%{opacity:.65}80%{transform:scale(1.5);opacity:0}}
@keyframes bp-pin-nod{0%,100%,65%{transform:translateY(0) rotate(-8deg)}30%{transform:translateY(-8px) rotate(6deg)}}
@keyframes bp-route-travel{0%,12%{left:0;opacity:0}22%{opacity:1}78%{opacity:1}95%,100%{left:94%;opacity:0}}
@keyframes bp-section-arrive{from{transform:translateY(16px)}to{transform:translateY(0)}}
@keyframes bp-tab-arrive{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes bp-step-focus{0%,22%,100%{transform:translateY(0);box-shadow:0 0 0 0 #51977700}5%,16%{transform:translateY(-4px);box-shadow:0 0 0 7px #51977712;border-color:#70aa88}}
@keyframes bp-step-route{0%,100%{opacity:.45}8%,22%{opacity:1}}

/* Native page transitions enhance supported browsers without intercepting navigation. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:bp-page-leave .14s ease-in both}
::view-transition-new(root){animation:bp-page-arrive .24s ease-out both}
@keyframes bp-page-leave{to{opacity:0}}
@keyframes bp-page-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html[data-bp-motion=paused]{view-transition-name:none}
html[data-bp-motion=paused]::view-transition-old(root),html[data-bp-motion=paused]::view-transition-new(root){animation:none!important}
html[data-bp-motion=paused] .bp-bipo-art,html[data-bp-motion=paused] .bp-bipo-scene img{transform:none!important}
html[data-bp-visibility=hidden] *,html[data-bp-visibility=hidden] *::before,html[data-bp-visibility=hidden] *::after{animation-play-state:paused!important}
.bp-bipo-scene.bp-outofview *,.bp-motion-offscreen *,.bp-motion-offscreen *::before,.bp-motion-offscreen *::after{animation-play-state:paused!important}
@media(max-width:700px){.bp-mascot-help .bp-bipo-route,.bp-mascot-analysis .bp-bipo-route{display:none}.bp-bipo-scene img{animation-duration:7s}.bp-bipo-route-trail{stroke-width:1.6}.bp-bipo-map-pin{stroke-width:.7}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.bp-bipo-art,.bp-bipo-scene img{transform:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
@media print{.bp-bipo-route,.bp-bipo-ground{display:none}.bp-bipo-art,.bp-bipo-scene img{transform:none!important}}
