/* Complete landscape stage; portrait rules and approved album are unchanged. */
@media (orientation:landscape){
 .screen-only .device-wrap{max-width:none}
 .screen-only .device{width:100%;height:100dvh}
}
@media (orientation:landscape) and (min-height:561px){
 .cabin-frame canvas,.cabin-people{object-position:left center}
 .screen-only .device{--landscape-panel:clamp(320px,31vw,440px);--landscape-edge:clamp(24px,3vw,64px)}
 .screen-only .invitation-header{height:70px;padding:16px var(--landscape-edge) 0;font-size:17px}
 .screen-only .invitation-header>span{font-size:17px}
 .screen-only .invitation-header button{font-size:14px;padding:0 15px}
 .screen-only .scene .scene-visual,.screen-only .scene.warm .scene-visual{inset:0;background-size:cover;background-position:center 70%}
 .screen-only .scene .dialogue{left:auto;right:var(--landscape-edge);bottom:40px;width:var(--landscape-panel);max-height:calc(100dvh - 126px);overflow:visible;padding:25px 22px 20px}
 .screen-only .scene .dialogue h2{font-size:21px;line-height:1.55}
 .screen-only .scene .dialogue p{font-size:16px;line-height:1.65;margin-bottom:16px}
 .screen-only .scene .primary,.screen-only .scene .secondary{min-height:48px;font-size:16px}
 .screen-only .scene .speaker-tab{font-size:14px;top:-17px;padding:5px 13px}
 .screen-only .pose-choices{margin:14px 0;gap:12px}
 .screen-only .pose-choices button{font-size:16px;min-height:48px}
 .screen-only .scene-label{top:91px;left:var(--landscape-edge);font-size:14px}
 .screen-only .shot-progress{top:96px;right:calc(var(--landscape-panel) + var(--landscape-edge) + 35px)}
 .screen-only .shot-progress span{width:25px;height:25px;font-size:12px}
 .screen-only .sprite-stage,.screen-only .finale-stage{top:145px;left:var(--landscape-edge);right:calc(var(--landscape-panel) + var(--landscape-edge) + 48px);bottom:30px}
 .screen-only .scene .frame-corner.a,.screen-only .scene .frame-corner.b{top:140px}
 .screen-only .scene .frame-corner.a,.screen-only .scene .frame-corner.c{left:var(--landscape-edge)}
 .screen-only .scene .frame-corner.b,.screen-only .scene .frame-corner.d{right:calc(var(--landscape-panel) + var(--landscape-edge) + 32px)}
 .screen-only .scene .frame-corner.c,.screen-only .scene .frame-corner.d{bottom:22px}
 .screen-only .scene.entry .entry-title{top:89px;left:var(--landscape-edge);right:auto;max-width:none}
 .screen-only .scene.entry .entry-title h1{font-size:clamp(32px,3vw,48px);line-height:1.2}
 .screen-only .scene.entry .entry-title p{font-size:13px;margin-bottom:9px}
 .screen-only .scene.entry .entry-title span{font-size:13px}
 .screen-only .scene.entry .sprite-stage{top:145px;left:18%;right:calc(var(--landscape-panel) + var(--landscape-edge) + 32px);bottom:24px}
 .screen-only .result-stage{top:142px;left:var(--landscape-edge);right:calc(var(--landscape-panel) + var(--landscape-edge) + 48px);bottom:36px}
 .screen-only .result-stage .photo-print{max-width:100%}
 .screen-only .photo-print figcaption{font-size:15px}
 .screen-only .photo-print small{font-size:12px}
 .screen-only .scene.journey[data-view=city] .scene-visual{background-position:center 34%}
 .screen-only .journey .trip-car{width:58%;left:1%;bottom:-3%}
 .screen-only .journey .trip-hosts{width:20%;left:36%;right:auto;bottom:14%}
 .screen-only .parked-car{width:47%;left:0;bottom:25px}
 .screen-only .park-hosts{width:23%;left:35%;right:auto;bottom:25px}
 .screen-only .trip-route{top:90px;left:var(--landscape-edge);right:auto;bottom:auto;width:clamp(240px,25vw,350px);max-width:38%}
 .screen-only .trip-route svg{height:68px}
 .screen-only .journey[data-view=cabin] .dialogue{bottom:28px;background:#fff7e6ed}
 .screen-only .music-pulse{top:53%;left:32%}
 .screen-only .finale .dialogue h2{font-size:21px!important}
 .screen-only .invite-screen{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,64px);padding:92px max(28px,calc((100vw - 1200px)/2)) 40px;overflow-y:auto}
 .screen-only .invite-card{width:100%;max-width:none;margin:0;padding:28px 24px}
 .screen-only .invite-card h2{font-size:32px}
 .screen-only .invite-card .venue{font-size:26px}
 .screen-only .memories{width:100%;max-width:none;margin:0;padding-top:12px}
 .screen-only .memory-title{font-size:30px;margin-top:0}
 .screen-only .memory-caption{font-size:16px;margin-bottom:22px}
 .screen-only .memory-strip{gap:12px;margin-bottom:24px}
 .screen-only .memory-strip[data-count="1"]{max-width:280px}
 .screen-only .memory-strip .memory-label{font-size:13px}
 .screen-only .memories>.secondary{min-height:48px;font-size:16px}
}
