/* Four expressions of the same timing and easing system. Photos stay visible at rest. */
:root{--aoutch-scene-duration:1450ms}.split-pane{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.split-pane img{width:100%;height:100%;object-fit:cover;scale:1!important;animation:none!important}.scene-frame{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0}.scene-frame path{fill:none;stroke:var(--acid);stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}.architecture .scene-frame path{stroke:#233e2b}.wellness-frame path{stroke:#f1f0e9;stroke-width:1.5}.is-scene-playing .scene-frame{animation:aoutch-frame-life var(--aoutch-scene-duration) var(--aoutch-ease) both}.is-scene-playing .scene-frame path{animation:aoutch-frame-draw var(--aoutch-scene-duration) var(--aoutch-ease) both}.is-scene-playing .frame-second{animation-delay:80ms!important}.motion-ready .photo-reveal[data-scene=automobile].is-revealing{animation:aoutch-cinema var(--aoutch-scene-duration) var(--aoutch-ease) both}.motion-ready .photo-reveal[data-scene=architecture].is-revealing{animation:aoutch-construct var(--aoutch-scene-duration) var(--aoutch-ease) both}.motion-ready .photo-reveal[data-scene=culture].is-revealing{animation:aoutch-split-clock var(--aoutch-scene-duration) linear both}.motion-ready .photo-reveal[data-scene=wellness].is-revealing{animation:aoutch-breathe var(--aoutch-scene-duration) var(--aoutch-ease) both}.motion-ready .photo-reveal[data-scene].is-revealing>img{animation:aoutch-framing var(--aoutch-scene-duration) var(--aoutch-ease) both}.motion-ready .photo-reveal[data-scene=culture].is-revealing>img{visibility:hidden;animation:none}.motion-ready .photo-reveal[data-scene=culture].is-revealing .split-pane{display:block}.motion-ready .photo-reveal[data-scene=culture].is-revealing .split-upper{animation:aoutch-split-upper var(--aoutch-scene-duration) var(--aoutch-ease) both}.motion-ready .photo-reveal[data-scene=culture].is-revealing .split-lower{animation:aoutch-split-lower var(--aoutch-scene-duration) var(--aoutch-ease) both}.is-scene-playing .project-info h3{animation:aoutch-type-arrive var(--aoutch-scene-duration) var(--aoutch-ease) both}.is-scene-playing .project-info p{animation:aoutch-copy-arrive var(--aoutch-scene-duration) var(--aoutch-ease) both}.is-scene-playing .project-info h3:before{animation:aoutch-title-thread var(--aoutch-scene-duration) var(--aoutch-ease) both!important}.immersive-photo.is-scene-playing figcaption{animation:aoutch-copy-arrive var(--aoutch-scene-duration) var(--aoutch-ease) both}.replay-photo{font-size:12px}.project-info button.replay-photo{min-width:0;width:max-content;max-width:100%}.motion-off .is-scene-playing *{animation:none!important}.motion-off .split-pane{display:none!important}.motion-off .photo-reveal>img{visibility:visible!important}.motion-off .scene-frame{opacity:0!important}
@keyframes aoutch-cinema{0%{clip-path:inset(42% 10% 42% 10%)}18%{clip-path:inset(34% 0 34% 0)}100%{clip-path:inset(0)}}
@keyframes aoutch-construct{0%,12%{clip-path:inset(62% 55% 0 0)}55%{clip-path:inset(0 24% 0 0)}100%{clip-path:inset(0)}}
@keyframes aoutch-breathe{0%{clip-path:circle(22% at 50% 54%)}100%{clip-path:circle(80% at 50% 54%)}}
@keyframes aoutch-split-clock{from{clip-path:none}to{clip-path:none}}
@keyframes aoutch-split-upper{0%{clip-path:inset(0 100% 50% 0);transform:translateX(-3%)}70%,100%{clip-path:inset(0 0 50% 0);transform:translateX(0)}}
@keyframes aoutch-split-lower{0%,8%{clip-path:inset(50% 0 0 100%);transform:translateX(3%)}85%,100%{clip-path:inset(50% 0 0 0);transform:translateX(0)}}
@keyframes aoutch-framing{from{scale:1.08}to{scale:1}}
@keyframes aoutch-frame-life{0%{opacity:0}18%,65%{opacity:1}100%{opacity:0}}
@keyframes aoutch-frame-draw{0%{stroke-dashoffset:1}55%,100%{stroke-dashoffset:0}}
@keyframes aoutch-type-arrive{0%,12%{transform:translateY(15px);opacity:.4}80%,100%{transform:none;opacity:1}}
@keyframes aoutch-copy-arrive{0%,24%{transform:translateY(10px);opacity:.4}90%,100%{transform:none;opacity:1}}
@keyframes aoutch-title-thread{0%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.is-scene-playing *,.photo-reveal.is-revealing{animation:none!important}.split-pane{display:none!important}.photo-reveal>img{visibility:visible!important}.scene-frame{opacity:0!important}}
/* Keep the reveal's negative space continuous with the page. */
.photo-stage{background:var(--bg)!important}.photo-stage>.photo-reveal{background:transparent}.photo-reveal[data-scene].is-revealing{background:transparent}
