/* Scoped access ↔ roles pilot: fixed page, shared SMS, restrained crossfade. */
.story-step-transition .object-front *,
.story-step-transition .scene.active{animation:none!important}
.story-step-transition::view-transition-group(root){animation:none}
.story-step-transition::view-transition-old(root){display:none}
.story-step-transition::view-transition-new(root){animation:none}
.story-step-transition::view-transition-group(story-art),
.story-step-transition::view-transition-group(story-anchor){animation-duration:360ms;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
.story-step-transition::view-transition-old(story-art),
.story-step-transition::view-transition-old(story-anchor){animation:story-fade-out 150ms ease-out both}
.story-step-transition::view-transition-new(story-art),
.story-step-transition::view-transition-new(story-anchor){animation:story-fade-in 230ms 90ms ease-out both}
.story-step-transition::view-transition-group(story-copy){animation:none}
.story-step-transition::view-transition-old(story-copy){animation:story-fade-out 100ms ease-out both}
.story-step-transition::view-transition-new(story-copy){animation:story-fade-in 160ms 100ms ease-out both}
@keyframes story-fade-out{to{opacity:0}}
@keyframes story-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .story-step-transition::view-transition-group(*),
  .story-step-transition::view-transition-old(*),
  .story-step-transition::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}
}

.story-step-transition::view-transition{pointer-events:none}

/* Keep FAQ below a full-height presentation on every screen size. */
body[data-audience][data-object] .story{height:calc(100svh - 96px);min-height:0}
body[data-audience][data-object] .stage{position:relative;top:0;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding-bottom:24px;overscroll-behavior-y:auto}
body[data-audience][data-object] .stage>*{flex-shrink:0}
body[data-audience][data-object] .story-layout{flex:1 0 auto}
@media(max-width:760px){body[data-audience][data-object] .story{height:calc(100svh - 112px)}}

body[data-audience][data-object] .story{height:calc(100svh - var(--story-header-height,96px))}

body[data-audience][data-object] .stage{overflow:hidden}
body[data-audience][data-object] .story-layout{flex:0 0 auto;min-height:0;margin:auto;max-width:100%}

/* Phones: each scene keeps its natural size and scrolls with the page; the step controls stay within reach. */
@media(max-width:760px){
  body[data-audience][data-object] .story{height:auto;overflow-anchor:none}
  body[data-audience][data-object] .stage{height:auto;overflow:visible;overflow-x:clip;padding-bottom:0}
  body[data-audience][data-object] .story-controls{position:sticky;bottom:0;z-index:4;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"progress progress skip" "prev next next";align-items:center;gap:8px 12px;margin-top:24px;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:#232526;box-shadow:0 0 0 100vmax #232526;clip-path:inset(0 -100vmax)}
  body[data-audience][data-object] .story-controls:before{grid-area:progress;margin:0;font-size:12px}
  body[data-audience][data-object] .story-controls #prev{grid-area:prev}
  body[data-audience][data-object] .story-controls #next,body[data-audience][data-object] .story-controls .pilot-action{grid-area:next}
  body[data-audience][data-object] .story-controls .skip{grid-area:skip;margin:0;font-size:12px;text-align:right}
  /* Labels that were sized for the zoomed-out stage get a readable floor. */
  body[data-audience][data-object] .scene .eyebrow,body[data-audience][data-object] .object-top,body[data-audience][data-object] .editorial-mast span,body[data-audience][data-object] .editorial-meta,body[data-audience][data-object] .outside-label,body[data-audience][data-object] .session-heading,body[data-audience][data-object] .doc-mast>span,body[data-audience][data-object] .doc-meta span,body[data-audience][data-object] .invoice-parties span,body[data-audience][data-object] .doc-meta strong,body[data-audience][data-object] .doc-table th,body[data-audience][data-object] .doc-footer,body[data-audience][data-object] .ticket-eyebrow,body[data-audience][data-object] .ticket-unlock,body[data-audience][data-object] .ticket-unlock b,body[data-audience][data-object] .ticket-stub>span,body[data-audience][data-object] .ticket-stub small,body[data-audience][data-object] .ownership-label,body[data-audience][data-object] .mini-reader>span,body[data-audience][data-object] .distribution-brand>span,body[data-audience][data-object] .quick-methods span,body[data-audience][data-object] .plan-heading,body[data-audience][data-object] .benefit-pass-top>span,body[data-audience][data-object] .pass-budget>span,body[data-audience][data-object] .panel-toolbar,body[data-audience][data-object] .budget-equation span,body[data-audience][data-object] .phone-sent{font-size:12px}
}
