/* One 1920 × 1080 coordinate system; the viewport only scales the complete slide. */
:root{--artwork-aspect:3 / 2}
html,body{height:100%;overflow:hidden}
body{display:grid;grid-template-rows:var(--bar-height) minmax(0,1fr) var(--footer-height)}
.top{overflow:hidden}
#deck{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--viewport-inset);position:relative}
.slide-slot{position:relative;flex:none;width:calc(var(--slide-width) * var(--deck-scale));height:calc(var(--slide-height) * var(--deck-scale))}
.slide-frame{width:var(--slide-width);height:var(--slide-height);transform:scale(var(--deck-scale));transform-origin:top left;overflow:hidden;background:var(--color-void-black)}
.scene{width:var(--slide-width);height:var(--slide-height);min-height:0;padding:var(--spacing-50);border:0;overflow:hidden;flex-shrink:0}
.scene>*,.intro,.section-head,.meaning-copy{min-width:0;min-height:0}
.bridge img,.comic-frame img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.bridge,.comic-frame{justify-self:center;max-width:100%}
.opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-rows:minmax(0,1fr) auto;align-items:center}
.opening .bridge{width:100%;height:100%}
.opening .caption{grid-column:1/-1}
.phrase-scene{align-items:center;justify-content:center}
.phrase-copy{display:flex;flex-direction:column;gap:var(--content-gap);width:max-content;max-width:100%;text-align:left}
.comic-scene{display:grid;grid-template-rows:auto minmax(0,1fr) auto var(--spacing-50);justify-items:center;gap:var(--spacing-15)}
.comic-scene .section-head{justify-self:start}
.comic-scene .comic-frame{height:100%;width:auto;aspect-ratio:var(--artwork-aspect)}
.comic-scene .panel-cover{position:absolute;right:0;top:0;bottom:0;width:var(--comic-panel-width);background:var(--color-void-black)}
body.presenting .comic-scene[data-step="0"] .panel-cover{display:block}
.reveal{display:block;visibility:hidden;align-self:center}
body.presenting .comic-scene[data-step="0"] .reveal{visibility:visible}
.explanation .comic-frame{width:100%;height:auto}
.explanation .comic-frame img{width:100%;height:auto}
.explanation{padding-inline:var(--spacing-200);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--spacing-100)}
.explanation .meaning-copy{gap:var(--spacing-30)}
.explanation .meaning-copy h2{font-size:var(--text-display);line-height:var(--leading-display)}
.explanation .meaning-copy p:not(.eyebrow){font-size:var(--text-heading-sm);line-height:var(--leading-heading-sm)}
.video-scene{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:var(--spacing-15)}
.video-space{min-height:0;overflow:hidden}
#video-container{width:100%;height:100%;display:grid;place-items:center}
#video-container:empty{display:none}
iframe,video{width:100%;height:100%;min-height:0;object-fit:contain}
.closing{display:grid;grid-template-rows:minmax(0,1fr) auto}
.closing .bridge{width:100%;height:100%}
.controls,body.enhanced .controls{display:flex;position:static;min-height:0;height:var(--footer-height);align-items:center;z-index:6;padding:var(--spacing-15);gap:var(--spacing-15)}
.footnote{display:none}
.transition-copy{position:fixed;pointer-events:none;z-index:5;margin:0;max-width:none;transform-origin:top left}
body:not(.presenting) #deck{overflow-y:auto;flex-direction:column;justify-content:flex-start;gap:var(--spacing-30)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{
 @page{size:1920px 1080px;margin:0}
 html,body{height:auto;overflow:visible;display:block;print-color-adjust:exact}
 .top,.controls,.panel-cover,.reveal,#video-form{display:none!important}
 #deck,body:not(.presenting) #deck{display:block;overflow:visible;padding:0}
 .slide-slot,.slide-slot[hidden]{display:block!important;width:var(--slide-width);height:var(--slide-height);break-after:page}
 .slide-frame{transform:none}
 .scene,.scene[hidden]{display:flex!important}
 .opening,.comic-scene,.explanation,.video-scene,.closing{display:grid!important}
}
