/* One editorial layout shared by every chapter. */
.cinema-journey{padding:88px max(6%,calc((100vw - 1240px)/2));background:#eee8de;scroll-margin-top:24px;color:var(--ink)}
.cinema-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:36px}.cinema-heading h2{font-size:clamp(40px,4.4vw,62px)}.cinema-heading>p{font-size:14px;line-height:1.8;max-width:320px}.cinema-heading .eyebrow{margin-bottom:20px}
.cinema-sticky{position:relative;display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:minmax(390px,auto) auto auto;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.cinema-screen{position:relative;grid-column:1;grid-row:1;min-width:0;background:#211f1d;overflow:hidden}.cinema-shot{position:absolute;inset:0;opacity:0;transition:opacity .7s;background:center/contain no-repeat;pointer-events:none}.cinema-shot.active{opacity:1;z-index:1}.cinema-shot video{width:100%;height:100%;object-fit:contain;display:block}.cinema-shade{display:none}
.cinema-copy{grid-column:2;grid-row:1;padding:42px 34px;align-self:center;min-width:0}.cinema-kicker{color:#927247;font-size:9px;letter-spacing:1.8px;margin-bottom:18px}.cinema-copy h2{font-size:clamp(32px,3vw,44px);line-height:1.1;color:var(--ink)}.cinema-copy h2 em{color:var(--deep)}.cinema-copy>p{font-size:13px;line-height:1.8;margin-top:20px}.cinema-topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.cinema-topics button{font-size:11px;background:#f0e9de;border:1px solid var(--line);padding:7px 12px;border-radius:30px}.cinema-topics button:hover{border-color:var(--red);color:var(--red)}.cinema-talk{display:inline-flex;align-items:center;gap:30px;font-size:12px;color:var(--red);border-bottom:1px solid #baa18b;padding:10px 0;margin-top:14px}.cinema-talk span{font-size:20px}
.cinema-caption{position:absolute;left:20px;right:calc(41.667% + 20px);top:18px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.cinema-caption>span:first-child{font-size:11px;color:white;text-shadow:0 1px 8px #000;background:#211d1880;padding:7px 10px;border-radius:3px}.cinema-play{pointer-events:auto;color:white;background:#211d1899;border:1px solid #ffffff60;border-radius:30px;padding:8px 12px;font-size:11px;flex-shrink:0}.cinema-load{position:absolute;top:46px;left:0;font-size:11px;color:white;background:#211d1880}.cinema-load:empty{display:none}
.cinema-bottom{grid-column:1/-1;grid-row:2;display:flex;align-items:stretch;border-top:1px solid var(--line);background:var(--paper);padding:0 22px;gap:20px}.cinema-nav{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}.cinema-nav button{flex:1;min-width:76px;padding:16px 8px;background:none;border-bottom:2px solid transparent;color:var(--muted);font:italic 17px Editorial;text-align:center}.cinema-nav button span{font:11px DM;display:block;margin-top:3px}.cinema-nav button[aria-current]{color:var(--red);border-color:var(--red);background:#f3ede4}.cinema-next{font-size:11px;background:transparent;color:var(--red);white-space:nowrap;padding:12px 0}.cinema-route{position:absolute;bottom:38px;left:0;right:0;height:2px;background:#dfd5c6}.cinema-route i{height:2px;display:block;background:var(--gold);transform:scaleX(var(--film-progress,0));transform-origin:left}.cinema-route b{display:none}.cinema-legal{grid-column:1/-1;grid-row:3;font-size:9px;line-height:1.5;text-align:center;padding:12px 18px;min-height:38px;color:var(--muted)}.cinema-copy.change{animation:copy-in .4s ease both}@keyframes copy-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
.cinema-static{display:none}.cinema-static article{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.cinema-static video{width:100%}.cinema-static h2{display:none}.cinema-static h3{font:32px Editorial;margin:14px 0}.cinema-static article>div>span{font-size:10px;color:var(--gold)}.cinema-static p,.cinema-static a{font-size:13px}.cinema-static a{color:var(--red);display:inline-block;margin-top:16px}
@media(max-width:900px){.cinema-sticky{grid-template-columns:1.15fr 1fr}.cinema-copy{padding:28px 24px}.cinema-copy h2{font-size:34px}.cinema-caption{right:calc(46.5% + 14px);left:14px}.cinema-caption>span:first-child{display:none}.cinema-heading>p{max-width:240px}.cinema-bottom{gap:14px;padding:0 12px}.cinema-nav button{min-width:70px}}
@media(max-width:700px){.cinema-journey{padding:58px 6%}.cinema-heading{display:block;margin-bottom:26px}.cinema-heading h2{font-size:42px}.cinema-heading>p{margin-top:20px;max-width:100%;font-size:13px}.cinema-sticky{display:flex;flex-direction:column}.cinema-screen{aspect-ratio:16/9;width:100%;flex-shrink:0}.cinema-copy{padding:26px 23px;min-height:310px;width:100%}.cinema-copy h2{font-size:35px}.cinema-copy>p{font-size:13px;margin-top:16px}.cinema-kicker{font-size:8px;margin-bottom:13px}.cinema-caption{left:auto;right:12px;top:12px}.cinema-play{font-size:10px}.cinema-bottom{padding:0 10px;gap:8px}.cinema-nav button{min-width:65px;padding:13px 5px}.cinema-nav button span{font-size:10px}.cinema-next{font-size:10px}.cinema-legal{font-size:8px;min-height:44px;padding:10px 16px}.cinema-route{bottom:44px}.cinema-static article{grid-template-columns:1fr;gap:18px}}
@media(prefers-reduced-motion:reduce){.cinema-sticky{display:none}.cinema-static{display:block}.cinema-shot,.cinema-copy{animation:none;transition:none}}
/* The additional themes are deliberately text-only, with no chapter animation. */
.cinema-journey.text-chapter .cinema-screen,.cinema-journey.text-chapter .cinema-caption{display:none}
.cinema-journey.text-chapter .cinema-copy{grid-column:1/-1;padding:52px 7%;width:100%;min-height:0;animation:none!important;transform:none!important;opacity:1!important}
.cinema-journey.text-chapter .cinema-copy h2{max-width:800px}.cinema-journey.text-chapter .cinema-copy>p{max-width:740px}
.cinema-journey.text-chapter .glass-cue:after{display:none}.cinema-static article.text-only{grid-template-columns:1fr}
.cinema-nav button:nth-child(4){min-width:105px}
@media(max-width:700px){.cinema-journey.text-chapter .cinema-copy{padding:30px 23px}.cinema-journey.text-chapter .cinema-copy h2{font-size:32px}.cinema-nav button:nth-child(4){min-width:98px}}

/* A single ice-light stroke, triggered once when the heading enters view. */
#life-heading{padding-bottom:22px;position:relative}
.ice-heading-line{display:block;position:absolute;left:0;bottom:0;width:min(100%,570px);height:20px;pointer-events:none}
.ice-heading-line svg{width:100%;height:100%;overflow:visible}
.ice-heading-line path{fill:none;stroke:#99d3eb;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.ice-line-core{stroke-width:2;filter:drop-shadow(0 1px 1px #5c98bd66)}
.ice-line-haze{stroke-width:8;opacity:.22;filter:blur(3px)}
.ice-heading-line.drawn path{animation:heading-ice-draw var(--line-duration) linear var(--line-delay) forwards}
@keyframes heading-ice-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.ice-heading-line path{stroke-dashoffset:0;animation:none!important}}

#life-heading{line-height:1.3;padding-bottom:14px}
.ice-heading-line{bottom:auto;height:12px;width:auto}
.ice-heading-line.complete path{stroke-dashoffset:0}
.ice-line-tip{position:absolute;left:0;top:3px;width:7px;height:7px;border-radius:50%;background:#f0fcff;box-shadow:0 0 5px #7dbedc,0 0 12px #8ecce4;opacity:0}
.ice-heading-line.drawn .ice-line-tip{animation:ice-tip-travel var(--line-duration) linear var(--line-delay) both}
@keyframes ice-tip-travel{0%{left:0;opacity:0}2%{opacity:1}95%{opacity:1}100%{left:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){.ice-line-tip{display:none}}

.ice-heading-line{line-height:0;font-size:0}.ice-heading-line svg{display:block}
