/* The film already contains the authored desktop photo composition. */
.scene-stage.camera-enabled{isolation:isolate}
.camera-media{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;background:#c1c9cf}
.camera-media>video,.camera-media>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;visibility:visible;opacity:0}
.camera-media>.is-current{opacity:1}
.camera-enabled>.scene{z-index:2;background:transparent!important;pointer-events:none}
.camera-enabled>.scene [data-open]{pointer-events:auto}
.camera-enabled>.scene>img,.camera-enabled>.scene>.scene-photo-top-edge,.camera-enabled>.scene>.approved-art>.approved-vectors{visibility:hidden!important}
.camera-enabled>.scene>.mobile-art>svg{visibility:hidden!important}
.camera-enabled.camera-flight .scene-copy,.camera-enabled.camera-flight .mobile-art{opacity:0!important;animation:none!important;transition:opacity .25s ease!important}
.camera-status{position:absolute;z-index:8;right:4.45%;bottom:22px;font:12px Onest,sans-serif;color:#293336;max-width:280px;visibility:visible!important}
.camera-status[hidden]{display:none!important}.camera-status button{padding:8px 0;margin-left:12px;text-decoration:underline}
.camera-media[hidden]{display:none!important}

/* Source-aware portrait framing. Only mobile presentation changes;
   desktop media, physical geometry and autonomous flight timing stay unchanged. */
.camera-mobile-backdrop{position:absolute;pointer-events:none;z-index:0}
.camera-mobile-backdrop[hidden]{display:none!important}
.camera-mobile-viewport-probe{position:fixed;left:0;top:0;width:0;height:100vh;height:100svh;visibility:hidden!important;pointer-events:none}
.camera-mobile-ui{display:none}
.camera-mobile-ui>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:999px){
 .scene-stage.camera-mobile{background:#c1c9cf;--camera-safe-bottom:env(safe-area-inset-bottom,0px)}
 .scene-stage.camera-mobile>.camera-media{inset:0;width:100%;height:100%;background:#c1c9cf}
 .scene-stage.camera-mobile>.camera-media>img,.scene-stage.camera-mobile>.camera-media>video{object-fit:contain;inset:auto}
 .scene-stage.camera-mobile>.scene{visibility:hidden!important;pointer-events:none!important}
 .scene-stage.camera-mobile>.scene *{visibility:hidden!important}
 .scene-stage.camera-mobile>.camera-mobile-ui{display:block;position:absolute;inset:0;z-index:6;pointer-events:none;visibility:visible!important}
 .camera-mobile-copy{position:absolute;left:24px;right:24px;top:84px;opacity:1;transition:opacity .25s ease;visibility:visible!important}
 .camera-mobile-copy[data-stop="0"]{top:92px}
 .camera-mobile-copy:not([hidden]){animation:alma-camera-mobile-copy-enter 1.25s cubic-bezier(.22,.1,.24,1) both}
 .camera-mobile-copy[data-stop="1"]{left:min(53%,calc(100% - 178px));right:24px}
 .camera-mobile-copy[data-stop="3"]{top:auto;bottom:116px}
 .camera-mobile-copy h1,.camera-mobile-copy h2{margin:0;font-family:Onest,sans-serif;font-weight:300;line-height:1.12;letter-spacing:0;white-space:normal;font-kerning:none}
 .camera-mobile-copy small{display:block;margin-bottom:24px;font:300 10px/1.12 Onest,sans-serif;letter-spacing:0}
 .camera-mobile-copy p{margin:24px 0 0;font:300 14px/21px Onest,sans-serif;font-kerning:none}
 .camera-mobile-name{position:absolute;left:24px;top:calc(var(--camera-frame-top) + var(--camera-frame-h) + 28px);margin:0;font:300 17px/1.12 Onest,sans-serif;visibility:visible!important}
 .camera-mobile-open{position:absolute;left:24px;bottom:calc(24px + var(--camera-mobile-safe-bottom,0px));width:calc(100% - 48px);height:44px;padding:0;background:#293335;color:#fff;font:400 14px Onest,sans-serif;pointer-events:auto;visibility:visible!important}
 .camera-mobile.camera-flight .camera-mobile-copy{opacity:0;animation:none;translate:none}
 .scene-stage.camera-mobile>.camera-status{left:24px;right:24px;top:auto;bottom:136px;max-width:none}
 .scene-stage.camera-mobile>.camera-status button{padding-top:6px;padding-bottom:6px}
 #scenes.camera-mobile-flow{height:auto!important}
 #scenes.camera-mobile-flow>.scene-stage{position:relative;top:auto;height:var(--camera-mobile-min-height,100svh)!important;min-height:0}
}
@keyframes alma-camera-mobile-copy-enter{from{opacity:0;translate:0 var(--camera-mobile-copy-enter,28px)}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.camera-mobile-copy{transition:none!important;animation:none!important;translate:none!important}}
.no-motion .camera-mobile-copy{transition:none!important;animation:none!important;translate:none!important}
