/* Linear presentation: one composition, one automatic entrance per scene.
   The cover retains its original stylesheet and layout. */
.cinema-mode .header-course,.cinema-mode .contents-button,.cinema-mode .progress-track,.cinema-mode .notes-button,.cinema-mode .current-chapter i{display:none}
.cinema-mode .header-tools .contents-button{display:none}
.cinema-mode .app-footer{justify-content:space-between}
.cinema-mode .current-chapter{min-width:0}
.cinema-mode .current-chapter b{font-size:22px}
.cinema-mode .current-chapter>span{font-size:14px;opacity:.65}
.cinema-mode .footer-tools{gap:22px}
.cinema-mode .nav-arrow{width:38px;height:44px}
.cinema-mode .fullscreen{opacity:.8}
.app:has(.s5.active) .footer-tools{color:var(--ink)}
@media(min-width:601px){.app:has(.s6.active) .fullscreen,.app:has(.s6.active) .footer-tools{color:var(--ivory)}}
@media(max-width:600px){.app:has(.s5.active) .footer-tools{color:var(--ivory)}}
.cinema-mode .app-header,.cinema-mode .app-footer{background:none}
.cinema-mode .scene{overflow:hidden}
.cinema{position:absolute;inset:0;height:100dvh;min-height:0;overflow:hidden;background:var(--ivory);color:var(--ink)}
.cinema h2{font-weight:400;letter-spacing:-.055em;line-height:1.08}
.cinema p{line-height:1.4;letter-spacing:-.025em}
.scene-kicker{position:absolute;left:var(--gutter);top:15%;font-size:clamp(14px,1.1vw,19px);letter-spacing:.11em!important;font-weight:500;line-height:1.5!important}
.photo-window{position:absolute;overflow:hidden}
.cinema-photo{width:100%;height:100%;object-fit:cover;display:block;transform-origin:65% 50%;will-change:transform}
.speaker{font-size:clamp(20px,1.6vw,27px);letter-spacing:0!important;margin-bottom:15px}
.cinema-transition{position:fixed;inset:0;z-index:45;display:none;pointer-events:none}

/* 02 — a route carved into stone */
.route-photo{inset:0}.route-photo .cinema-photo{object-position:center}
.route-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f3efe6bd 0%,#f3efe669 42%,transparent 58%),linear-gradient(0deg,#f3efe6 0%,#f3efe6f2 10%,transparent 35%)}
.route-title{position:absolute;left:var(--gutter);top:23%;font-size:clamp(40px,min(4.8vw,8vh),86px);max-width:56%}
.route-figure{position:absolute;left:calc(var(--gutter) - .04em);top:40%;font-size:clamp(150px,min(22.5vw,33vh),380px);letter-spacing:-.085em;line-height:1;font-weight:500;color:var(--red);display:flex;align-items:center;gap:.035em}
.route-figure>span{display:block}.route-plus{font-size:.7em;line-height:1}
.route-caption{position:absolute;left:var(--gutter);top:74%;font-size:clamp(25px,2.1vw,38px)}
.route-base{position:absolute;left:var(--gutter);right:var(--gutter);bottom:12%;display:flex;align-items:end;justify-content:space-between;gap:30px}
.route-levels{font-size:clamp(22px,1.9vw,32px);white-space:nowrap}
.route-note{font-size:clamp(20px,1.65vw,28px);max-width:25%;color:#48423b}

/* 03 — the photographic half gives the two voices a shared context */
.family-photo{left:48%;right:0;top:0;bottom:0}
.family-photo .cinema-photo{object-position:71% center}
.family-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--ivory) 0%,var(--ivory) 44%,#f3efe600 50%)}
.family-quote{position:absolute;left:var(--gutter);width:43%;z-index:1}
.parent-quote{top:25%;color:var(--red)}
.student-quote{top:53%}
.family-saying{font-size:clamp(40px,min(4.9vw,8.4vh),86px)}
.family-conclusion{position:absolute;left:var(--gutter);bottom:14%;font-size:clamp(25px,2.2vw,38px)}

/* 04 — the five steps build once along a single drawn path */
.pathway-scene{background:#191714;color:var(--ivory)}
.pathway-photo{inset:0 0 0 25%;opacity:.7}.pathway-photo .cinema-photo{object-position:right}
.pathway-wash{position:absolute;inset:0;background:linear-gradient(90deg,#191714 0%,#191714eb 35%,#19171444 100%),linear-gradient(0deg,#191714 0%,#191714e8 43%,transparent 85%)}
.pathway-title{position:absolute;left:var(--gutter);top:24%;font-size:clamp(45px,min(5.5vw,9vh),100px)}
.pathway-line{position:absolute;left:var(--gutter);right:var(--gutter);top:47%;width:calc(100% - var(--gutter)*2);height:6%;color:#b34b3d}
.pathway-steps{position:absolute;left:var(--gutter);right:var(--gutter);top:53%;display:flex;gap:25px}
.pathway-step{width:20%;padding-top:calc(var(--step)*12px)}
.pathway-number{font-size:clamp(52px,5vw,88px);letter-spacing:-.06em;line-height:1;color:#dd8172}
.pathway-name{font-size:clamp(24px,2.2vw,39px);margin-top:18px;line-height:1.2!important}
.pathway-end{position:absolute;bottom:13%;left:var(--gutter);font-size:clamp(24px,2.05vw,36px)}

/* 05 — the question has room to breathe */
.listening-scene{background:#191714;color:var(--ivory)}
.listening-photo{inset:0}.listening-photo .cinema-photo{object-position:center}
.listening-wash{position:absolute;inset:0;background:linear-gradient(90deg,#15100ce8 0%,#15100c8a 37%,transparent 67%),linear-gradient(0deg,#15100ceb 0%,transparent 55%)}
.listening-title{position:absolute;left:var(--gutter);top:27%;font-size:clamp(55px,min(6.5vw,10vh),114px);max-width:59%}
.listening-base{position:absolute;left:var(--gutter);bottom:13%}
.listening-topics{font-size:clamp(24px,2vw,36px);line-height:1.6!important}

/* 06 — the objection becomes a question; both remain visible */
.objection-scene{background:var(--red);color:var(--ivory)}
.objection-photo{left:69%;right:0;top:0;bottom:0}
.objection-photo .cinema-photo{object-position:100% center}
.objection-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--red) 0%,var(--red) 63%,#bc2d2000 79%)}
.objection-statement{position:absolute;left:calc(var(--gutter) - .04em);top:23%;font-size:clamp(100px,min(13vw,22vh),230px);line-height:1!important;letter-spacing:-.075em!important;transform-origin:left center}
.objection-response{position:absolute;left:var(--gutter);top:52%;font-size:clamp(43px,min(5.4vw,8.6vh),92px)}
.objection-process{position:absolute;left:var(--gutter);bottom:14%;display:flex;gap:24px;align-items:center;font-size:clamp(23px,2vw,36px)}
.process-arrow{opacity:.65}

/* 07 — a precise statement on a quiet paper field */
.promise-photo{left:65%;right:0;top:0;bottom:0}
.promise-photo .cinema-photo{object-position:79% center}
.promise-surface{position:absolute;inset:0;background:linear-gradient(90deg,var(--ivory) 0%,var(--ivory) 64%,#f3efe600 71%)}
.promise-title{position:absolute;left:var(--gutter);top:23%;font-size:clamp(41px,min(5vw,8vh),90px);max-width:60%}
.promise-copy{position:absolute;left:var(--gutter);top:53%;width:52%}
.promise-main{font-size:clamp(29px,2.7vw,47px);max-width:90%;color:var(--red)}
.promise-detail{font-size:clamp(24px,2vw,35px);margin-top:35px;max-width:90%}
.promise-underline{position:absolute;left:var(--gutter);width:53%;height:8px;bottom:16%;color:var(--red)}

/* 08 — three questions, a deliberate cadence */
.decision-scene{background:#34150d;color:var(--ivory)}
.decision-photo{inset:0}
.decision-wash{position:absolute;inset:0;background:linear-gradient(90deg,#240d08de 0%,#240d08a6 55%,#240d0822 100%),linear-gradient(0deg,#240d08de,transparent 45%)}
.decision-questions{position:absolute;left:var(--gutter);right:var(--gutter);top:26%;display:flex;flex-direction:column;gap:30px}
.decision-question{display:flex;align-items:baseline;gap:30px}
.decision-count{font-size:clamp(20px,1.8vw,30px);color:#eaa494;min-width:30px}
.decision-text{font-size:clamp(37px,min(4.8vw,7.5vh),84px);max-width:100%;line-height:1.18!important}
.decision-question:last-child .decision-text{max-width:18ch}
.decision-bottom{position:absolute;left:var(--gutter);bottom:13%;font-size:clamp(24px,2.05vw,35px)}

/* 09 — a diagonal exchange instead of an interface */
.dialogue-photo{left:48%;right:0;top:0;height:47%}
.dialogue-photo .cinema-photo{object-position:65% 50%}
.dialogue-paper{position:absolute;top:0;bottom:0;left:0;width:48%;background:var(--ivory)}
.dialogue-client{position:absolute;left:var(--gutter);top:26%;width:41%}
.dialogue-client .speaker{color:var(--muted)}
.dialogue-quote{font-size:clamp(43px,min(4.8vw,8vh),85px)}
.dialogue-manager{position:absolute;left:32%;top:51%;width:64%;color:var(--red)}
.dialogue-answer{font-size:clamp(43px,min(5.1vw,7.7vh),88px)}
.dialogue-end{position:absolute;left:var(--gutter);bottom:13%;font-size:clamp(24px,2.05vw,35px)}

/* 10 — the rhythm of practice rises towards the next conversation */
.finale-scene{background:#302820;color:var(--ivory)}
.finale-photo{inset:0}
.finale-wash{position:absolute;inset:0;background:linear-gradient(90deg,#282014dc 0%,#28201494 50%,#28201455 100%),linear-gradient(0deg,#1e180ff2 0%,#1e180fb8 40%,transparent 85%)}
.finale-title{position:absolute;left:var(--gutter);top:24%;font-size:clamp(44px,min(5.4vw,8.4vh),98px)}
.finale-milestones{position:absolute;left:var(--gutter);right:var(--gutter);top:49%;display:flex;justify-content:space-between;gap:30px}
.finale-milestone{width:30%}
.finale-value{display:flex;gap:16px;align-items:baseline}
.finale-number{font-size:clamp(100px,min(12vw,20vh),220px);line-height:1;letter-spacing:-.07em}
.finale-unit{font-size:clamp(23px,2vw,35px)}
.finale-caption{font-size:clamp(24px,2.1vw,37px);margin-top:16px}
.finale-line{position:absolute;left:var(--gutter);width:calc(100% - var(--gutter)*2);height:5%;top:76%;color:#d98e79}
.finale-bottom{position:absolute;left:var(--gutter);bottom:12.5%;font-size:clamp(23px,2vw,34px)}

/* Presenter notes are available with N; they are separate from the projected scene. */
.cinema-mode .sheet .notes-copy p{font-size:17px;line-height:1.8}
.cinema-mode .sheet>h2{font-size:40px}
@media (max-width:1050px) and (min-width:601px){
 .route-note{max-width:31%}.route-levels{font-size:20px}
 .pathway-steps{gap:14px}.pathway-name{font-size:24px}
 .family-saying{font-size:4.7vw}.promise-detail{margin-top:24px}
 .dialogue-end{font-size:22px}.decision-questions{gap:25px}
}
@media(max-width:600px){
 .cinema-mode .app-header{height:80px;padding-top:20px}
 .cinema-mode .app-footer{height:72px;padding-bottom:20px}
 .cinema-mode .current-chapter b{font-size:20px}
 .cinema-mode .current-chapter>span{font-size:12px}
 .cinema-mode .footer-tools{gap:20px}
 .cinema-mode .fullscreen{color:inherit}
 .scene-kicker{top:13%;font-size:12px;letter-spacing:.08em!important}
 .cinema .speaker{font-size:18px;margin-bottom:10px}
 .cinema .line-mask{padding-bottom:.08em;margin-bottom:-.08em}
 .route-photo{inset:0}.route-photo .cinema-photo{object-position:64% center}
 .route-wash{background:linear-gradient(90deg,#f3efe6e8 0%,#f3efe6c9 46%,#f3efe669 100%),linear-gradient(0deg,#f3efe6 0%,transparent 65%)}
 .route-title{top:21%;font-size:39px;max-width:100%}
 .route-figure{top:37%;font-size:min(54vw,26vh)}
 .route-caption{top:64%;font-size:24px}
 .route-base{bottom:14%;display:block}
 .route-levels{font-size:18px;line-height:1.7!important;white-space:normal}
 .route-note{font-size:18px;max-width:100%;margin-top:12px}
 .family-photo{left:0;right:0;top:20%;bottom:auto;height:33%}
 .family-photo .cinema-photo{object-position:70% 46%}
 .family-wash{display:none}
 .family-quote{top:57%;width:calc(50% - 33px)}
 .parent-quote{left:var(--gutter)}.student-quote{left:53%}
 .family-saying{font-size:clamp(24px,6.6vw,38px);line-height:1.15!important;letter-spacing:-.05em!important}
 .family-conclusion{bottom:15%;font-size:29px}
 .pathway-title{top:20%;font-size:43px}
 .pathway-photo{left:0}.pathway-wash{background:linear-gradient(90deg,#191714e8,#191714b8),linear-gradient(0deg,#191714 20%,transparent)}
 .pathway-line{display:none}
 .pathway-steps{top:40%;display:flex;flex-direction:column;gap:17px}
 .pathway-step{width:100%;padding-top:0;display:flex;align-items:baseline;gap:24px}
 .pathway-number{font-size:31px;min-width:41px}
 .pathway-name{font-size:27px;margin-top:0}
 .pathway-end{bottom:13%;font-size:22px;max-width:90%}
 .listening-photo .cinema-photo{object-position:66% center}
 .listening-wash{background:linear-gradient(90deg,#15100ce8,#15100c40),linear-gradient(0deg,#15100cf2 0%,#15100c66 70%)}
 .listening-title{top:28%;font-size:52px;max-width:100%}
 .listening-base{bottom:15%;right:var(--gutter)}
 .listening-topics{font-size:20px;line-height:1.7!important}
 .objection-photo{left:44%;opacity:.7}
 .objection-wash{background:linear-gradient(90deg,var(--red),#bc2d20eb 38%,#bc2d2077 100%)}
 .objection-statement{top:27%;font-size:min(21vw,13vh)}
 .objection-response{top:49%;font-size:43px}
 .objection-process{bottom:16%;gap:12px;flex-wrap:wrap;font-size:19px;right:var(--gutter)}
 .promise-photo{left:0;right:0;top:18%;bottom:auto;height:27%}
 .promise-photo .cinema-photo{object-position:70% 65%}
 .promise-surface{display:none}
 .promise-scene .scene-kicker{z-index:1}
 .promise-title{top:49%;font-size:36px;max-width:95%}
 .promise-copy{top:64%;width:calc(100% - var(--gutter)*2)}
 .promise-main{font-size:24px;max-width:100%}
 .promise-detail{font-size:19px;margin-top:18px;max-width:100%}
 .promise-underline{display:none}
 .decision-photo .cinema-photo{object-position:68% center}
 .decision-wash{background:linear-gradient(90deg,#240d08ed,#240d0899)}
 .decision-questions{top:26%;gap:35px}
 .decision-question{gap:17px}
 .decision-count{font-size:18px;min-width:23px}
 .decision-text{font-size:35px;line-height:1.2!important}
 .decision-question:last-child .decision-text{max-width:100%}
 .decision-bottom{bottom:13%;right:var(--gutter);font-size:22px}
 .dialogue-photo{left:37%;height:26%;top:19%}
 .dialogue-photo .cinema-photo{object-position:70% center}
 .dialogue-paper{display:none}
 .dialogue-client{top:24%;width:52%;z-index:1;text-shadow:0 1px 20px var(--ivory)}
 .dialogue-client .speaker{color:var(--ink)}
 .dialogue-quote{font-size:31px;line-height:1.2!important}
 .dialogue-manager{left:var(--gutter);top:50%;width:calc(100% - var(--gutter)*2)}
 .dialogue-answer{font-size:43px}
 .dialogue-end{bottom:13%;right:var(--gutter);font-size:22px}
 .finale-photo .cinema-photo{object-position:64% center}
 .finale-wash{background:linear-gradient(90deg,#282014de,#282014a8),linear-gradient(0deg,#1e180fcc,transparent)}
 .finale-title{top:21%;font-size:35px;max-width:95%}
 .finale-milestones{top:41%;display:flex;flex-direction:column;gap:28px}
 .finale-milestone{width:100%;display:flex;align-items:center;gap:24px}
 .finale-value{min-width:130px;gap:12px}
 .finale-number{font-size:72px;min-width:72px}.finale-unit{font-size:18px}
 .finale-caption{font-size:22px;margin-top:0;line-height:1.3!important;max-width:140px}
 .finale-line{display:none}
 .finale-bottom{bottom:13%;font-size:22px;max-width:80%}
}
@media(max-height:680px) and (min-width:601px){
 .scene-kicker{top:16%;font-size:13px}
 .route-title{font-size:6vh;top:24%}.route-figure{font-size:30vh;top:39%}
 .route-caption{font-size:22px;top:70%}
 .route-base{bottom:13%}.route-levels,.route-note{font-size:19px}
 .family-saying{font-size:7.7vh}.family-conclusion{bottom:14%;font-size:23px}
 .speaker{font-size:18px;margin-bottom:10px}
 .pathway-title{font-size:8vh}.pathway-number{font-size:8vh}
 .pathway-name{font-size:22px}.pathway-steps{top:52%}
 .pathway-end{font-size:22px;bottom:13%}
 .listening-title{font-size:9vh}.listening-topics{font-size:22px}
 .objection-statement{font-size:20vh}.objection-response{font-size:8vh}.objection-process{font-size:21px}
 .promise-title{font-size:7.2vh}.promise-copy{top:52%}.promise-main{font-size:26px}.promise-detail{font-size:21px;margin-top:20px}
 .decision-questions{gap:22px}.decision-text{font-size:7vh}.decision-bottom{font-size:22px}
 .dialogue-quote{font-size:7vh}.dialogue-answer{font-size:7vh}.dialogue-end{font-size:21px}
 .finale-title{font-size:7.5vh}.finale-number{font-size:17vh}.finale-caption{font-size:23px}.finale-bottom{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.cinema-photo{will-change:auto}.cinema-transition{display:none!important}}
