/* Visible flights preserve the native halo; hidden destinations use a portal. */
body.has-shared-ora[data-step="7"] .ora-halo,
body.has-shared-ora.offer-experience .pw-stage .ora-halo{animation:none}
.ora-journey{position:fixed;left:0;top:0;z-index:12;pointer-events:none;transform-origin:0 0;background:transparent;will-change:transform}
body .ora-journey>#live-ora-canvas,body .ora-journey>.live-ora-fallback{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;max-height:none;margin:0;object-fit:contain;filter:none}
/* A circular compositing surface and a radial light have no rectangular glow edges. */
body.has-shared-ora #live-ora-canvas{border-radius:50%;background:transparent;box-shadow:none;border:0}
body.has-shared-ora[data-step="7"] .ora-halo:before{inset:-24%;background:radial-gradient(circle,#92cfff52 0%,#92cfff14 38%,transparent 68%);filter:none;opacity:.8}
body.has-shared-ora[data-step="7"].voice-speaking .ora-halo:before{opacity:1;transform:scale(1.08)}
/* The viewport clips the scene; the grid must not cut a rectangular edge into its light. */
body.has-shared-ora[data-step="7"] .onboarding-layout{overflow:visible}
body.ora-in-transit .ora-halo{transition:none!important}
/* The shared canvas may travel above the page; the page's own choreography
   must keep running until a transition actually starts. */
body.ora-scene-changing .step-content,
body.ora-scene-changing .step-content>*,
body.ora-scene-changing .step-content .choice-grid>*{animation:none!important}
body.ora-scene-changing #next-button,
body.ora-scene-changing #back-button{pointer-events:none}
/* Releasing the director must not replay an old entrance. */
body.ora-scene-changing .step-content{animation:none!important}
body.ora-scene-changing.offer-experience .pw-narration,
body.ora-scene-changing.offer-experience .pw-benefits,
body.ora-scene-changing.offer-experience .pw-actions{animation:none}
@media(prefers-reduced-motion:reduce){.ora-journey{display:none}}

/* The page and the companion share one entrance; no delayed voice-screen replay. */
body.ora-scene-changing .ov>h2,body.ora-scene-changing .ov-narration,body.ora-scene-changing .ov-carousel,body.ora-scene-changing .ov-navigation{animation:none!important}

body.ora-in-transit .ora-column{overflow:visible!important}
/* Let the companion cross above the new page, and reveal its greeting on arrival. */
body.ora-accompanying .ora-column{position:relative;z-index:12;pointer-events:none}
body.has-shared-ora .ora-caption{transition:opacity .16s ease}
body.ora-accompanying:not(.ora-greeting-ready) .ora-caption{opacity:0}
/* Reserve the welcome layout before revealing its text on a return journey. */
body.ora-in-transit[data-step="1"] .ora-column{transition:none!important}
body.ora-scene-entered[data-step="1"] .question-column{animation:none!important}
body.ora-in-transit #live-ora-canvas,body.ora-in-transit .live-ora-fallback{transform-origin:center;will-change:transform;transition:none!important}

/* Give the regular desktop companion room, with no enclosing card. */
@media(min-width:801px){
 body.has-shared-ora:not([data-step="1"]):not([data-step="7"]):not(.is-building-plan):not(.trial-active) .ora-column>.ora-halo{
  width:min(32vw,42dvh,380px);height:auto;aspect-ratio:1;flex:none;border:0;border-radius:0;background:transparent;box-shadow:none;
 }
 body.has-shared-ora:not([data-step="1"]):not([data-step="7"]):not(.is-building-plan):not(.trial-active) .ora-column>.ora-halo :is(canvas,.live-ora-fallback){width:100%;height:100%}
}
