/* Optical polish, scenes 19–25. Kept separate from the original scene styles. */
@media (min-width:601px) and (min-height:501px){
  /* The corridor supplies the perspective; the four steps share an even cadence. */
  .v5-stage.v5ready .v5-head{width:64%}
  .v5-stage.v5ready .v5-body{width:65%;padding-bottom:32px}
  .v5-stage.v5ready .v5ready-conditions{gap:clamp(15px,2.1vh,25px)}
  .v5-stage.v5ready .v5ready-condition{gap:18px}
  .v5-stage.v5ready .v5ready-condition:nth-child(2){margin-left:24px}
  .v5-stage.v5ready .v5ready-condition:nth-child(3){margin-left:48px}
  .v5-stage.v5ready .v5ready-condition:nth-child(4){margin-left:72px}
  .v5-stage.v5ready .v5ready-mark{flex:0 0 16px;font-size:12px}
  .v5-stage.v5ready .v5ready-copy h3{font-size:clamp(29px,min(2.85vw,4.3vh),44px);line-height:1.12}
  .v5-stage.v5ready .v5ready-copy p{font-size:clamp(23px,min(2.1vw,3.3vh),31px);line-height:1.2;margin-top:6px}
  .v5-stage.v5ready .v5ready-path{width:91%;bottom:0}
  .v5-stage.v5ready .v5-foot{max-width:65%}

  /* One reading edge, and a deliberate two-person crop of the listening family. */
  .v5-stage.v5yes1 .v5-photo{left:55%}
  .v5-stage.v5yes1 .v5-photo img{object-position:100% center}
  .v5-stage.v5yes1 .v5-head,
  .v5-stage.v5yes1 .v5-body,
  .v5-stage.v5yes1 .v5-foot{width:51.5%}
  .v5-stage.v5yes1 .v5yes-quote{display:none}
  .v5-stage.v5yes1 .v5yes-transcript{gap:clamp(19px,2.6vh,31px)}
  .v5-stage.v5yes1 .v5yes-line{grid-template-columns:20px minmax(0,1fr);gap:14px;margin-left:0}
  .v5-stage.v5yes1 .v5yes-line:nth-child(n){margin-left:0}
  .v5-stage.v5yes1 .v5yes-line p{font-size:clamp(26px,min(2.4vw,3.8vh),36px);line-height:1.22}
  .v5-stage.v5yes1 .v5yes-line:first-child p{font-size:clamp(31px,min(3vw,4.5vh),45px);line-height:1.16}
  .v5-stage.v5yes1 .v5-foot{font-size:clamp(20px,1.8vw,26px);line-height:1.32}

  /* The counter-shot has the same aligned transcript, with more room for the offer. */
  .v5-stage.v5yes2 .v5-photo{right:59%}
  .v5-stage.v5yes2 .v5-photo img{object-position:84% center}
  .v5-stage.v5yes2 .v5-head,
  .v5-stage.v5yes2 .v5-body,
  .v5-stage.v5yes2 .v5-foot{margin-left:46%;width:54%}
  .v5-stage.v5yes2 .v5yes-plan{gap:clamp(16px,2.3vh,25px)}
  .v5-stage.v5yes2 .v5yes-action:nth-child(n){margin-left:0}
  .v5-stage.v5yes2 .v5yes-action-label{gap:13px;margin-bottom:7px;line-height:1.2}
  .v5-stage.v5yes2 .v5yes-action p{font-size:clamp(26px,min(2.4vw,3.65vh),35px);line-height:1.19}
  .v5-stage.v5yes2 .v5yes-action:last-child p{font-size:clamp(30px,min(2.85vw,4.2vh),43px);line-height:1.14}
  .v5-stage.v5yes2 .v5-foot{font-size:clamp(20px,1.8vw,25px);line-height:1.32}

  /* Both columns start together; the split is centered over its two answers. */
  .v5-stage.v5close1 .v5close1-map{grid-template-columns:1.2fr 1fr;column-gap:6vw;row-gap:clamp(35px,5.5vh,62px)}
  .v5-stage.v5close1 .v5close1-choice{padding-top:0}
  .v5-stage.v5close1 .v5close1-sequence{flex-wrap:nowrap;white-space:nowrap;gap:clamp(8px,1vw,15px);font-size:clamp(25px,2.15vw,36px);margin-top:24px}
  .v5-stage.v5close1 .v5close1-three{flex-wrap:nowrap;gap:clamp(18px,2.8vw,42px);font-size:clamp(31px,3vw,49px);margin-top:20px}
  .v5-stage.v5close1 .v5close1-question{max-width:100%;margin-top:24px;font-size:clamp(38px,min(3.8vw,5.8vh),62px)}
  .v5-stage.v5close1 .v5close1-fork{width:72%;height:74px;margin:25px auto 12px}
  .v5-stage.v5close1 .v5close1-options{width:100%;gap:20px;font-size:clamp(25px,2.25vw,35px)}
  .v5-stage.v5close1 .v5close1-options span{width:50%;text-align:center;white-space:nowrap}

  /* Three grounds, one strong edge; the document is a counterweight. */
  .v5-stage.v5close2 .v5-photo{left:53%}
  .v5-stage.v5close2 .v5-photo img{object-position:78% center;filter:brightness(.8)}
  .v5-stage.v5close2:after{background:linear-gradient(90deg,#171612 0%,#171612 44%,#171612dc 53%,#17161222 77%)}
  .v5-stage.v5close2 .v5-head{width:72%;max-width:72%}
  .v5-stage.v5close2 .v5-body{width:65%}
  .v5-stage.v5close2 .v5close2-diagonal{gap:clamp(22px,3.2vh,37px)}
  .v5-stage.v5close2 .v5close2-condition:nth-child(n){margin-left:0;gap:20px}
  .v5-stage.v5close2 .v5close2-number{flex:0 0 16px}
  .v5-stage.v5close2 .v5close2-copy h3{font-size:clamp(50px,min(5.4vw,7.5vh),83px);line-height:1.02}
  .v5-stage.v5close2 .v5close2-copy p{font-size:clamp(24px,min(2.1vw,3.3vh),32px);line-height:1.2;margin-top:8px;max-width:550px}
  .v5-stage.v5close2 .v5-foot{max-width:68%}

  /* Two aligned diagrams, balanced by one centered, optically weighted disc. */
  .v5-stage.v5close3 .v5close3-composition{grid-template-columns:1.32fr .78fr;gap:clamp(35px,5.5vh,64px) 6vw}
  .v5-stage.v5close3 .v5close3-cause{gap:clamp(20px,2.6vw,40px);margin-top:24px;font-size:clamp(30px,min(3vw,4.5vh),47px)}
  .v5-stage.v5close3 .v5close3-cause p{max-width:44%}
  .v5-stage.v5close3 .v5close3-balance{padding-left:0}
  .v5-stage.v5close3 .v5close3-comparison{gap:22px;margin-top:22px;font-size:clamp(30px,min(2.7vw,4.1vh),42px)}
  .v5-stage.v5close3 .v5close3-balance .v5-closing-line{width:94%;margin-top:15px}
  .v5-stage.v5close3 .v5close3-priority{width:min(28vw,38vh);height:min(28vw,38vh);padding:24px}
  .v5-stage.v5close3 .v5close3-method{font-size:12px;margin-bottom:18px}
  .v5-stage.v5close3 .v5close3-main{font-size:clamp(36px,min(3.55vw,5.1vh),56px)}
  .v5-stage.v5close3 .v5close3-detail{font-size:clamp(24px,min(2.1vw,3.2vh),31px);margin-top:18px}

  /* A poster uses a strict baseline, not alternating stair steps. */
  .v5-stage.v5errors .v5-head{width:59%}
  .v5-stage.v5errors .v5-title{font-size:clamp(58px,min(6.7vw,9.1vh),104px);line-height:1.01}
  .v5-stage.v5errors .v5-body{width:56%}
  .v5-stage.v5errors .v5errors-words{grid-template-columns:1fr 1fr;gap:clamp(28px,4.4vh,46px) 3.5vw;align-items:start}
  .v5-stage.v5errors .v5errors-item:nth-child(n){padding-top:0}
  .v5-stage.v5errors .v5errors-number{margin-bottom:11px;line-height:1}
  .v5-stage.v5errors .v5errors-item p{font-size:clamp(28px,min(2.7vw,4.1vh),42px);line-height:1.15}
  .v5-stage.v5errors .v5errors-line{width:100%;margin-top:clamp(26px,4vh,43px)}
  .v5-stage.v5errors .v5-foot{max-width:56%;font-size:clamp(25px,2.1vw,33px);line-height:1.25}
  .v5-stage.v5errors .v5-photo img{object-position:37% center}
}

/* Wide, shorter screens need tighter vertical rhythm without shrinking the reading field. */
@media (min-width:601px) and (min-height:501px) and (max-height:760px){
  .v5-stage.v5ready .v5-body{padding-bottom:22px}
  .v5-stage.v5ready .v5ready-conditions{gap:10px}
  .v5-stage.v5ready .v5ready-copy h3{font-size:28px}
  .v5-stage.v5ready .v5ready-copy p{font-size:22px;margin-top:4px}
  .v5-stage.v5close2 .v5close2-diagonal{gap:18px}
  .v5-stage.v5close2 .v5close2-copy h3{font-size:clamp(43px,6.6vh,50px)}
  .v5-stage.v5close2 .v5close2-copy p{font-size:23px;margin-top:6px}
  .v5-stage.v5errors .v5errors-words{row-gap:26px}
  .v5-stage.v5errors .v5errors-line{margin-top:24px}
}

/* The same reading axes remain intact when the photographic panels become smaller. */
@media (max-width:600px){
  .v5-stage.v5ready .v5ready-condition:nth-child(n){margin-left:0}
  .v5-stage.v5ready .v5ready-condition{gap:12px}
  .v5-stage.v5ready .v5ready-mark{flex:0 0 12px}
  .v5-stage.v5yes1 .v5yes-line:nth-child(n),
  .v5-stage.v5yes2 .v5yes-action:nth-child(n){margin-left:0}
  .v5-stage.v5yes1 .v5yes-quote{display:none}
  .v5-stage.v5yes1 .v5-photo img{object-position:100% center}
  .v5-stage.v5yes2 .v5yes-action-label{gap:10px}
  .v5-stage.v5close1 .v5close1-options span{text-align:center}
  .v5-stage.v5close2 .v5close2-condition:nth-child(n){margin-left:0}
  .v5-stage.v5close2 .v5close2-condition{gap:12px}
  .v5-stage.v5close2 .v5close2-number{flex:0 0 12px}
  .v5-stage.v5close3 .v5close3-balance{padding-left:0}
  .v5-stage.v5errors .v5errors-item:nth-child(n){padding-top:0}
  .v5-stage.v5errors .v5errors-words{align-items:start}
  .v5-stage.v5errors .v5-photo img{object-position:42% center}
}

/* Preserve the established compact landscape layout while removing its stray offsets. */
@media (min-width:601px) and (max-height:500px){
  .v5-stage.v5yes1 .v5yes-line:nth-child(n),
  .v5-stage.v5yes2 .v5yes-action:nth-child(n),
  .v5-stage.v5close2 .v5close2-condition:nth-child(n){margin-left:0}
  .v5-stage.v5yes1 .v5yes-quote{display:none}
  .v5-stage.v5close3 .v5close3-balance{padding-left:0}
  .v5-stage.v5errors .v5errors-item:nth-child(n){padding-top:0}
}
