/* Pointer and keyboard responses; scene motion is applied only while entering. */
[data-experience]{--stage-accent:var(--orange,#e96b22);--stage-shadow:0 12px 28px #14171216}
[data-experience=material]{--stage-accent:var(--m-primary);--stage-shadow:0 9px 24px #54220020}
[data-experience=story]{--stage-shadow:0 14px 28px #193d321a}
[data-experience] .stage-button{position:relative;isolation:isolate;overflow:hidden;transition:transform .24s,background-color .24s}
[data-experience] .stage-button::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#00000018;transform:translateX(-105%);transition:transform .4s cubic-bezier(.16,1,.3,1)}
[data-experience] .stage-button .ui-icon,[data-experience] .stage-button>span[aria-hidden]{transition:transform .3s cubic-bezier(.16,1,.3,1)}
[data-experience] .stage-link-card{position:relative;transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .2s,border-color .2s}
[data-experience] .stage-nav{position:relative;text-decoration:none}
[data-experience] .stage-nav::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--stage-accent);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.16,1,.3,1)}
[data-experience] .voice-thumbnail{overflow:hidden}
[data-experience] .voice-thumbnail img{transition:transform .7s cubic-bezier(.16,1,.3,1)}
[data-experience] .routes strong,[data-experience] .m-card-action b,[data-experience] .family-links a>span{transition:transform .3s cubic-bezier(.16,1,.3,1)}
[data-experience] .stage-heading::after{content:'';display:block;width:64px;height:3px;margin-top:18px;background:var(--stage-accent);transform-origin:left}
[data-experience=story] .stage-heading::after{width:44px;height:4px;border-radius:4px}
[data-experience=material] .stage-heading::after{width:36px;border-radius:3px}
[data-experience] .stage-heading.stage-arrived::after{animation:stage-line .7s cubic-bezier(.16,1,.3,1) both}
@keyframes stage-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
[data-experience] .stage-button:focus-visible::before{transform:translateX(0)}
[data-experience] .stage-nav:focus-visible::after{transform:scaleX(1);transform-origin:left}
[data-experience] .stage-link-card:focus-visible{box-shadow:var(--stage-shadow);border-color:var(--stage-accent)}
[data-experience] .stage-button:active{transform:translateY(1px) scale(.975)}
@media(hover:hover) and (pointer:fine){
  [data-experience] .stage-button:hover::before{transform:translateX(0)}
  [data-experience] .stage-button:hover .ui-icon,[data-experience] .stage-button:focus-visible .ui-icon,[data-experience] .stage-button:hover>span[aria-hidden]{transform:translateX(4px)}
  [data-experience] .stage-link-card:hover{transform:translateY(-6px);box-shadow:var(--stage-shadow);border-color:var(--stage-accent)}
  [data-experience=material] .stage-link-card:hover{transform:translateY(-3px)}
  [data-experience] .stage-nav:hover::after{transform:scaleX(1);transform-origin:left}
  [data-experience] .voice-film:hover .voice-thumbnail img,[data-experience] .voice-film:focus-visible .voice-thumbnail img{transform:scale(1.055)}
  [data-experience] .routes>a:hover strong,[data-experience] .routes>a:focus-visible strong,[data-experience] .m-link-card:hover .m-card-action b,[data-experience] .family-links>a:hover>span{transform:translateX(4px)}
}
@media(prefers-reduced-motion:reduce){
  [data-experience] .stage-heading::after{animation:none!important}
  [data-experience] .stage-button,[data-experience] .stage-button::before,[data-experience] .stage-nav::after,[data-experience] .stage-link-card,[data-experience] .voice-thumbnail img{transition:none!important;transform:none!important}
  [data-experience] .stage-button .ui-icon,[data-experience] .stage-button>span[aria-hidden],[data-experience] .routes strong,[data-experience] .m-card-action b,[data-experience] .family-links a>span{transform:none!important;transition:none!important}
}
[data-motion=reduced] [data-experience] .stage-heading::after{animation:none!important}
[data-motion=reduced] [data-experience] .stage-button,[data-motion=reduced] [data-experience] .stage-button::before,[data-motion=reduced] [data-experience] .stage-nav::after,[data-motion=reduced] [data-experience] .stage-link-card,[data-motion=reduced] [data-experience] .voice-thumbnail img{transition:none!important;transform:none!important}
[data-motion=reduced] [data-experience] .stage-button .ui-icon,[data-motion=reduced] [data-experience] .stage-button>span[aria-hidden],[data-motion=reduced] [data-experience] .routes strong,[data-motion=reduced] [data-experience] .m-card-action b,[data-motion=reduced] [data-experience] .family-links a>span{transform:none!important;transition:none!important}
@media print{[data-experience] .stage-heading::after{animation:none!important}[data-experience] .stage-button::before{display:none}}

[data-experience] .photo-story figure,[data-experience] .life-photos figure,[data-experience] .m-life figure,[data-experience] .m-hero-photo{overflow:hidden}
@media(prefers-reduced-motion:reduce){[data-experience] .stage-button::before{display:none}}
[data-motion=reduced] [data-experience] .stage-button::before{display:none}

@media(max-width:600px) and (prefers-reduced-motion:no-preference){[data-experience=path] .hero-copy,[data-experience=path] .hero figure{animation-name:welcome}}
