/* One consistent, quiet motion language for the interior pages. */
.subpage-motion{--motion-ease:cubic-bezier(.2,.72,.24,1)}
.js .subpage-motion main .reveal{transition:opacity .7s var(--motion-ease),transform .9s var(--motion-ease),clip-path 1s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
.js .subpage-motion main .reveal:not(.visible){opacity:0;transform:translate3d(0,22px,0)}
.js .subpage-motion main .reveal.visible{opacity:1;transform:none}
.js .subpage-motion main .reveal[data-motion="headline"]{--motion-delay:65ms;clip-path:inset(-.12em -.08em -.2em -.08em)}
.js .subpage-motion main .reveal[data-motion="headline"]:not(.visible){clip-path:inset(0 -.08em 100% -.08em);transform:translate3d(0,16px,0)}
.js .subpage-motion main .reveal[data-motion="copy"]{--motion-delay:150ms}
.js .subpage-motion main .reveal[data-motion="heading"]{transition-duration:.65s,.85s,.85s}
.js .subpage-motion main .reveal[data-motion="statement"]{transform-origin:left bottom;transition-duration:.8s,1.1s,1.1s}
.js .subpage-motion main .reveal[data-motion="statement"]:not(.visible){transform:translate3d(0,18px,0) scale(.96)}

.js .subpage-motion main .reveal[data-motion="photo"]{opacity:1;transform:none;transition:none}
.js .subpage-motion main .reveal[data-motion="photo"]>img{clip-path:inset(-25px);transition:clip-path 1.15s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
.js .subpage-motion main .reveal[data-motion="photo"]:not(.visible)>img{clip-path:inset(0 0 100% 0)}
.js .subpage-motion main .reveal[data-motion="photo"]>figcaption,.js .subpage-motion main .gallery-item.reveal>span{transition:opacity .65s var(--motion-ease),transform .65s var(--motion-ease);transition-delay:calc(var(--motion-delay,0ms) + 180ms)}
.js .subpage-motion main .reveal[data-motion="photo"]:not(.visible)>figcaption,.js .subpage-motion main .gallery-item.reveal:not(.visible)>span{opacity:0;transform:translate3d(0,7px,0)}
.subpage-motion main [data-motion="rule"]{position:relative}
.subpage-motion main [data-motion="rule"]:before{content:'';position:absolute;inset:-1px 0 auto;height:1px;background:#5f87b9;transform-origin:left center;transition:transform .95s var(--motion-ease);transition-delay:var(--motion-delay,0ms);pointer-events:none}
.js .subpage-motion main .reveal[data-motion="rule"]:not(.visible):before{transform:scaleX(0)}

.subpage-motion main :is(.interior-button,.about-button,.pill){transition:background .25s,color .25s,border-color .25s,transform .3s var(--motion-ease)}
.subpage-motion main :is(.interior-button,.about-button,.pill):active{transform:translateY(1px)}
.subpage-motion main :is(.about-text-link,.approach-text-link,.programme-detail-link){transition:color .25s,border-color .25s,background .25s}
@media(hover:hover) and (pointer:fine){
 .subpage-motion main :is(.interior-button,.about-button,.pill):hover{transform:translateY(-3px)}
 .subpage-motion main .gallery-item>span{border-bottom-color:#bfcee3;transition:border-color .3s,color .3s}
 .subpage-motion main .gallery-item:hover>span{border-bottom-color:#123d7c;color:#123d7c}
}

/* Keyboard navigation reveals an element immediately, including its photograph. */
.js .subpage-motion main .reveal:focus-within{opacity:1;transform:none;clip-path:none;transition:none}
.js .subpage-motion main .reveal[data-motion="photo"]:focus-within>img{clip-path:none;transition:none}
.js .subpage-motion main .reveal:focus-within>figcaption,.js .subpage-motion main .gallery-item.reveal:focus-within>span{opacity:1;transform:none;transition:none}
@media(max-width:850px){
 .js .subpage-motion main .reveal{transition-duration:.5s,.65s,.7s}
 .js .subpage-motion main .reveal:not(.visible){transform:translate3d(0,12px,0)}
 .js .subpage-motion main .reveal[data-motion="headline"]{--motion-delay:0ms}
 .js .subpage-motion main .reveal[data-motion="headline"]:not(.visible){transform:translate3d(0,9px,0)}
 .js .subpage-motion main .reveal[data-motion="copy"]{--motion-delay:75ms}
 .js .subpage-motion main .reveal[data-motion="photo"]{transform:none}
 .js .subpage-motion main .reveal[data-motion="photo"]>img{transition-duration:.8s}
 .subpage-motion main [data-motion="rule"]:before{transition-duration:.65s}
}
@media(prefers-reduced-motion:reduce){
 .js .subpage-motion main .reveal,.js .subpage-motion main .reveal>img,.js .subpage-motion main .reveal>figcaption,.js .subpage-motion main .gallery-item.reveal>span{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;animation:none!important}
 .subpage-motion main [data-motion="rule"]:before{transform:none!important;transition:none!important}
 .subpage-motion main :is(.interior-button,.about-button,.pill){transform:none!important;transition:none!important}
}
@media print{
 .js .subpage-motion main .reveal,.js .subpage-motion main .reveal>img,.js .subpage-motion main .reveal>figcaption,.js .subpage-motion main .gallery-item.reveal>span{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
}
