/* Candidate controls share measured space; review-only details require ?review. */
:root{--journey-controls:120px;--site-header:100px}
html:not([data-review='true']) [data-review-only],html:not([data-review='true']) .scene-label,html:not([data-review='true']) #rf-cut-controls,html:not([data-review='true']) #mx-cut-controls,html:not([data-review='true']) .raw-draft-selector{display:none!important}
#poc-bar{bottom:max(8px,env(safe-area-inset-bottom));gap:6px 10px}
#poc-bar button{min-height:44px}
#poc-bar [hidden]{display:none!important}
#poc-state{min-height:1.35em}
html[data-route='scroll'] .stage,html[data-route='scroll'] .chapter#art .stage,html[data-route='scroll'] .opening-stage{padding-bottom:calc(var(--journey-controls) + 20px)}
html[data-route='scroll'] .panel{max-height:calc(100svh - var(--journey-controls) - var(--site-header) - 32px);overflow:visible;overscroll-behavior:auto}
.scene-label{bottom:calc(var(--journey-controls) + 16px)!important}
.reading,footer{scroll-margin-top:var(--site-header)}
#contact{padding-bottom:calc(var(--journey-controls) + 32px);overflow:visible}
footer{padding-bottom:calc(var(--journey-controls) + 32px)}
.email-fallback{overflow-wrap:anywhere}.email-fallback span{user-select:all}
.poc-case-note{position:static;margin:104px 16px 0;width:fit-content}
:focus-visible{outline:3px solid #c0e8f5;outline-offset:4px}
html[data-route='static'] .panel{max-height:none;overflow:visible}
@media(max-width:600px){#poc-bar>span:first-child{display:none}#poc-bar{padding:8px}#poc-bar button{flex:1 1 auto;padding:6px 10px}.panel .actions{flex-wrap:wrap}header{gap:8px}header nav{gap:12px}.brand img{max-width:120px;height:auto}}
@media(max-height:540px){#poc-bar>span:first-child{display:none}#poc-bar{padding:6px}#poc-state{font-size:.7rem}html[data-route='scroll'] .panel{max-width:70%;padding:12px}html[data-route='scroll'] .panel p{margin:6px 0}html[data-route='scroll'] .panel h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#poc-state{order:2}
html[data-route='static'] #poc-play,html[data-route='static'] #poc-prev,html[data-route='static'] #poc-next{display:none}
html[data-route='static'] #poc-replay{display:none}
html:not([data-review='true']) #poc-bar>span:first-child{display:none}
#journey-options{position:relative}#journey-options summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px 14px;border:1px solid var(--edge);border-radius:12px}
#journey-options[open]{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--ground);border:1px solid var(--edge);border-radius:16px;padding:10px;display:flex;max-height:60svh;overflow:auto;flex-wrap:wrap;gap:8px}
#journey-options[open] summary{margin-bottom:8px}#journey-options button{margin:4px}
@media(max-width:600px){header{flex-direction:row!important;min-height:64px;gap:4px;padding:8px 10px!important}header .brand img{width:100px;height:auto}header nav{width:auto;gap:0;flex-wrap:nowrap}header nav a{padding:10px 6px;font-size:.78rem}#poc-bar button{flex:1 1 auto}html[data-route='scroll'] .panel{padding:12px 14px!important}html[data-route='scroll'] .panel h2{font-size:1.45rem;margin:0 0 8px}html[data-route='scroll'] .panel>p,html[data-route='scroll'] .panel .continue{display:none}html[data-route='scroll'] .panel .button{min-height:44px;padding:10px 14px;font-size:.8rem}html[data-route='scroll'] .panel{position:absolute!important;top:calc(var(--site-header) + 4px)!important;left:16px!important;right:16px!important;width:auto!important;margin:0!important;max-height:130px!important}.poc-film[data-native-portrait='true'],.poc-held-frame[data-native-portrait='true'],.poc-film[data-responsive-framing='true'],.poc-held-frame[data-responsive-framing='true']{top:calc(var(--site-header) + 112px)!important;height:calc(100% - var(--site-header) - var(--journey-controls) - 116px)!important;width:100%!important;object-position:center!important}}
@media(max-width:600px){header{flex-wrap:nowrap!important}header nav{flex-basis:auto!important}html[data-route='scroll'] .panel{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:8px}html[data-route='scroll'] .panel h2{grid-column:1;margin:0 0 4px;font-size:1.3rem}html[data-route='scroll'] .panel>p:first-of-type{display:block!important;grid-column:1;font-size:.72rem;line-height:1.3;margin:0}html[data-route='scroll'] .panel .actions{grid-column:2;grid-row:1 / 3;align-self:center;margin:0}html[data-route='scroll'] .panel .button{max-width:160px;padding:10px;font-size:.72rem}}
@media(min-width:901px){html:not([data-review='true']) #poc-bar{left:auto;right:2%;width:min(440px,calc(100% - 32px))}}

/* Contact has the same sticky camera interval as every other bound motion segment. */
html[data-route='scroll'] #contact{display:block;padding:0;}
/* Hash navigation focuses the section; its controls retain their own focus rings. */
html[data-route='scroll'] #contact:focus,html[data-route='scroll'] #studio:focus{outline:none;}
.contact-stage{position:relative;display:flex;align-items:center;justify-content:flex-end;width:100%;}
html[data-route='scroll'] .contact-stage{position:sticky;top:0;min-height:100svh;padding:calc(var(--site-header) + 20px) 6% calc(var(--journey-controls) + 32px);}
html[data-route='scroll'][data-cinema-mode='motion'] #contact .world{visibility:hidden!important}
/* Keep the last ship frame behind Studio instead of exposing the static city poster. */
@media(min-width:901px){html[data-route='scroll'][data-cinema-mode='reading'] #contact .world{visibility:hidden!important}}
html[data-route='static'] .contact-stage>.world{z-index:-1}

@media(max-width:600px){
 html[data-route='scroll'] .contact-stage{align-items:flex-start;padding:calc(var(--site-header) + 4px) 16px calc(var(--journey-controls) + 20px);height:100svh;}
 html[data-route='scroll'] .contact-panel{padding:14px 16px;border-radius:20px;}
 html[data-route='scroll'] .contact-panel h2{font-size:1.5rem;margin:0 0 6px;}
 html[data-route='scroll'] .contact-panel p{font-size:.75rem;line-height:1.35;margin:6px 0;}
 html[data-route='scroll'] .contact-panel .button{font-size:.75rem;min-height:44px;padding:8px 12px;}
 html[data-route='scroll'][data-contact-motion='true'] #poc-cinema-plane>.poc-film,html[data-route='scroll'][data-contact-motion='true'] #poc-cinema-plane>.poc-held-frame{top:calc(var(--site-header) + 240px)!important;height:calc(100% - var(--site-header) - var(--journey-controls) - 244px)!important;}
}

/* Static contact artwork belongs to the full contact section, not the card wrapper. */
html[data-route='static'] .contact-stage{position:static}

@media(max-width:900px) and (max-height:450px){
 html[data-route='scroll'] .contact-stage{padding:calc(var(--site-header) + 2px) 8px calc(var(--journey-controls) + 4px);align-items:flex-start;justify-content:flex-start;}
 html[data-route='scroll'] .contact-panel{width:52%;padding:6px 8px;border-radius:12px;}
 html[data-route='scroll'] .contact-panel h2{font-size:1.1rem;margin:0 0 4px;}
 html[data-route='scroll'] .contact-panel>p:first-of-type{display:none;}
 html[data-route='scroll'] .contact-panel p{font-size:.65rem;margin:3px 0;line-height:1.2;}
 html[data-route='scroll'] .contact-panel .button{font-size:.65rem;min-height:44px;padding:5px 7px;}
 html[data-route='scroll'] .contact-panel>a{font-size:.65rem;}
 html[data-route='scroll'][data-contact-motion='true'] #poc-cinema-plane>.poc-film,html[data-route='scroll'][data-contact-motion='true'] #poc-cinema-plane>.poc-held-frame{left:54%!important;width:46%!important;top:var(--site-header)!important;height:max(64px,calc(100dvh - var(--site-header) - var(--journey-controls) - 4px))!important;}
}
