/* Match the cinematic stages to the available phone viewport. */
@media (max-width:900px) and (orientation:portrait) {
  .cs-stage { height:100svh; min-height:0!important; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); padding:84px 22px max(12px,env(safe-area-inset-bottom)); gap:8px 0; }
  .cs-content { grid-row:1; padding:0; gap:10px; min-width:0; }
  .cs-copy-stack { min-height:0!important; }
  .cs-copy h2,.cs-stage[data-has-point=true] .cs-copy h2,.cs-stage[data-chapter="9"] .cs-copy h2 { font-size:clamp(1.25rem,5.6vw,1.7rem); line-height:1.5; }
  .cs-copy>p { display:block; font-size:.875rem; line-height:1.65; margin-top:8px; }
  .cs-stage[data-has-point=true] .cs-copy>p { display:none; }
  .cs-visual { grid-row:2; min-height:0; margin:0 -10px; }
  .cs-visual .cs-viewport { min-height:0; }
  .cs-point-card { padding:10px 13px; }
  .cs-point-card p { font-size:.875rem; line-height:1.65; margin-top:7px; }
  .cs-point-heading { gap:10px; }
  .cs-point-heading h3 { font-size:.9375rem; line-height:1.6; }
  .cs-measure { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; align-items:center; padding-top:8px; }
  .cs-measure[hidden] { display:none; }
  .cs-measure-label { grid-column:1; margin:0; font-size:.8125rem; line-height:1.55; }
  .cs-measure>div:not(.cs-energy-line) { grid-column:2; grid-row:1; gap:6px; }
  .cs-measure b,.cs-stage[data-has-point=true] .cs-measure b,.cs-final-measure b { font-size:2rem; }
  .cs-measure>div>span { font-size:.75rem; }
  .cs-measure p { grid-column:1/-1; margin-top:4px; font-size:.75rem; line-height:1.5; }
  .cs-final-detail { gap:10px; }
  .cs-final-stats { gap:18px; }
  .cs-final-stats b { font-size:1.25rem; }
  .cs-final-stats span { font-size:.8125rem; }
  .cs-final-cta { min-height:44px; padding:8px 12px; font-size:.875rem; }
  .cs-room-state { inset-inline:4%; bottom:5%; gap:10px; padding:7px 10px; }
  .cs-room-state span { font-size:.75rem; line-height:1.5; }
  .cs-room-state strong { font-size:1.1rem; }
}
@media (max-width:900px) and (orientation:portrait) and (min-height:740px) {
  .cs-point-outcome { display:block; margin-top:9px; padding-top:8px; font-size:.8125rem; line-height:1.5; }
  .cs-measure p:not(:empty),.cs-stage[data-has-point=true] .cs-measure p:not(:empty) { display:block; }
}
@media (max-width:900px) and (orientation:portrait) and (max-height:620px) {
  .cs-stage { padding:78px 16px max(10px,env(safe-area-inset-bottom)); gap:6px 0; }
  .cs-content,.cs-stage[data-has-point=true] .cs-content,.cs-stage[data-chapter="9"] .cs-content { gap:8px; }
  .cs-copy h2,.cs-stage[data-has-point=true] .cs-copy h2,.cs-stage[data-chapter="9"] .cs-copy h2 { font-size:1.2rem; line-height:1.5; }
  .cs-point-card { padding:9px 11px; }
  .cs-point-heading h3 { font-size:.875rem; }
  .cs-measure b,.cs-stage[data-has-point=true] .cs-measure b,.cs-final-measure b { font-size:1.75rem; }
}
@media (max-height:550px) and (orientation:landscape) {
  .cs-stage { height:100svh; min-height:0!important; padding-top:78px; padding-bottom:12px; grid-template-rows:minmax(0,1fr); }
  .cs-copy-stack { min-height:0!important; }
  .cs-content { gap:7px; }
  .cs-copy h2,.cs-stage[data-has-point=true] .cs-copy h2,.cs-stage[data-chapter="9"] .cs-copy h2 { font-size:1.2rem; line-height:1.35; }
  .cs-point-card { padding:7px 10px; }
  .cs-point-card p { font-size:.8125rem; line-height:1.45; margin-top:5px; }
  .cs-point-heading h3 { font-size:.8125rem; line-height:1.45; }
  .cs-measure-label { font-size:.75rem; line-height:1.4; }
  .cs-measure b,.cs-stage[data-has-point=true] .cs-measure b,.cs-final-measure b { font-size:1.6rem; }
  .cs-stage[data-chapter="3"] .cs-content { padding-inline-start:10px; }
}
