/* Calm: no tiny floating labels, no decoration that says nothing. Loads last. */

/* kickers, giant background numbers, letterbox bars, figure captions and the per-slide source lines */
.reveal .slides .k, .reveal .slides .mx-k, .reveal .slides .hy-k, .reveal .slides .bgnum, .reveal .slides .lbox,
.reveal .slides .cap, .reveal .slides .hy-src, .reveal .slides .hy-credit { display: none !important; }

/* the corner mark stays, small */
.folio { justify-content: flex-start; }
.folio .f-r { display: none; }

/* small print that has to stay (sources, labels) is not tiny */
.reveal .slides .mono-s { font-size: 20px; }
.reveal .slides .cite { font-size: 22px; }

/* chapter and pill slides */
.chap-h { left: 96px; top: 330px; font: 400 360px/.84 var(--f-display); text-transform: uppercase; color: var(--fg); white-space: nowrap; z-index: 2 !important; }
.chap-s { left: 100px; top: 700px; width: 1180px; font-size: 48px; line-height: 1.22; z-index: 2 !important; }
.pillpic { left: 1130px; top: 170px; width: 600px; height: auto; z-index: 1 !important; }
.pill-h { left: 96px; top: 200px; width: 1000px; font: 400 190px/.95 var(--f-display); text-transform: uppercase; color: var(--fg); z-index: 2 !important; }
.pill-s { left: 100px; top: 500px; width: 940px; font-size: 46px; line-height: 1.22; z-index: 2 !important; }
.pill-n { left: 100px; top: 830px; width: 940px; font-size: 34px; line-height: 1.3; color: var(--fg2); z-index: 2 !important; }
.outro-by { left: 100px; top: 1000px; z-index: 3 !important; }

/* photo slides: a clear photo beside the text ("split") or a darkened photo behind it ("bg") */
.phbg { position: absolute !important; left: 0; top: 0; width: 1920px; height: 1080px; background-size: cover; background-position: var(--pos, 50% 50%); z-index: 0 !important; filter: brightness(.5) saturate(.9); }
.phbg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.15) 100%); }
.has-phbg > :not(.phbg):not(.folio) { position: relative; z-index: 2; }

/* readable small print */
.reveal .slides .mono { font-size: 25px; }
.reveal .slides .mono-s { font-size: 22px; }
.reveal .slides .tag { font-size: 19px; }
.reveal .slides .cite { font-size: 24px; }
#welcome .w-file { left: 1140px; top: 180px; width: 690px; }
#welcome .w-toc li { font: 400 30px/1.9 var(--f-mono); }
#welcome .w-toc li i { width: 54px; }
#welcome .w-file .mono-s { font-size: 24px; }

/* photo beside text */
.phs { top: 0; width: 800px; height: 1080px; margin: 0; overflow: hidden; z-index: 1 !important; }
.phs.l { left: 0; } .phs.r { left: 1120px; }
.phs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.phs::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 120px rgba(0,0,0,.35); pointer-events: none; }
.phs-text { top: 0; height: 1080px; width: 880px; display: flex; flex-direction: column; justify-content: center; gap: 30px; z-index: 2 !important; }
.phs-text.at-l { left: 110px; } .phs-text.at-r { left: 930px; }
.phs-h { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; line-height: .98; color: var(--fg); }
.phs-lead { font-size: 44px; line-height: 1.2; }
.phs-body { font-size: 34px; line-height: 1.3; color: var(--fg2); }
.phs-mid .phs-lead { font-size: 40px; } .phs-mid .phs-body { font-size: 31px; }
.phs-long .phs-lead { font-size: 36px; } .phs-long .phs-body { font-size: 28px; }
.phs-rule { font-size: 34px; line-height: 1.25; font-family: var(--f-head); text-transform: uppercase; border-top: 4px solid var(--fg); padding-top: 18px; }
.phs-text .cite { margin: 0; }
.hy-credits li { font-size: 22px; }
.hy-credits li b { font-weight: 600; color: var(--fg); }
.has-phbg .wk-title, .has-phbg .wk-blue, .has-phbg .wk-def, .has-phbg .wk-link { color: #fff; text-decoration-color: #fff; }
.has-phbg .wk-crumb { color: #d8d8d8; }
.reveal .slides .lex-n { display: none !important; }
.rx-vw { display: none !important; }

/* the argument slides: bigger text, less empty space */
.ab-q { font-size: 92px; top: 160px; }
.ab-grid { top: 420px; gap: 56px 110px; }
.ab-b .body { font-size: 40px; line-height: 1.28; }
.ab-b .mono-s { font-size: 24px; margin-bottom: 8px; }

/* the pill slides' headings carry their pill's colour */
.hl.pc-blue { --mkc: var(--blue-pill, #2f6bff); color: #fff; }
.hl.pc-red { --mkc: var(--red-pill, #e5262e); color: #fff; }
.phs-h { line-height: 1.04; }
.phs-h:has(.hl) { line-height: 1.17 !important; }
#pills .pc-blue, #pills .pc-red, #pills .pc-black { margin-bottom: 14px; }
.mx-visual .mx-h:has(.hl) { line-height: 1.22 !important; }
.srclink { color: var(--fg); text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 4px; }

/* twins: a fixed-width box, so a letter-split move can never make the headline wrap letter by letter */
.sad[data-layout="twins"] .sad-h, .sad[data-layout="twins"] .sad-copy { width: 820px !important; font-size: 232px !important; white-space: normal !important; }

#sfx-toast { position: fixed; right: 18px; bottom: 16px; z-index: 99; font: 400 13px/1 var(--f-mono, monospace); letter-spacing: .14em; text-transform: uppercase; color: #fff; background: rgba(0,0,0,.72); padding: 9px 12px 8px; border: 1px solid rgba(255,255,255,.3); opacity: 0; transition: opacity .25s; pointer-events: none; }
#sfx-toast.on { opacity: 1; }

/* ---------- more photo looks ---------- */
.phx-full { left: 0; top: 0; width: 1920px; height: 1080px; margin: 0; z-index: 0 !important; }
.phx-full img, .phx-band img, .phx-tall img, .phx-over img { display: block; width: 100%; height: 100%; object-fit: cover; }
.phx-full img { filter: brightness(.62) contrast(1.05); }
.phx-full::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.9) 0, rgba(0,0,0,.55) 48%, rgba(0,0,0,.08) 100%); }
.phx-fulltext { left: 110px; top: 70px; width: 1120px; height: 940px; display: flex; flex-direction: column; justify-content: flex-end; gap: 26px; z-index: 2 !important; }
.phx-fulltext .phs-lead { font-size: 44px; line-height: 1.2; } .phx-fulltext .phs-body { font-size: 32px; line-height: 1.3; color: #e2e2e2; }
.phx-band { left: 0; top: 0; width: 1920px; height: 470px; margin: 0; overflow: hidden; z-index: 1 !important; }
.phx-band::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: linear-gradient(transparent, #000); }
.phx-bandL { left: 100px; top: 500px; width: 820px; z-index: 2 !important; }
.phx-bandR { left: 1000px; top: 520px; width: 820px; display: flex; flex-direction: column; gap: 22px; z-index: 2 !important; }
.phx-bandR .phs-lead { font-size: 40px; line-height: 1.2; } .phx-bandR .phs-body { font-size: 30px; line-height: 1.3; color: #d8d8d8; }
.phx-tallL { left: 90px; top: 0; width: 600px; height: 1080px; display: flex; align-items: center; z-index: 2 !important; }
.phx-tall { left: 740px; top: 0; width: 500px; height: 1080px; margin: 0; overflow: hidden; z-index: 1 !important; }
.phx-tallR { left: 1310px; top: 0; width: 520px; height: 1080px; display: flex; flex-direction: column; justify-content: center; gap: 22px; z-index: 2 !important; }
.phx-tallR .phs-lead { font-size: 36px; line-height: 1.2; } .phx-tallR .phs-body { font-size: 27px; line-height: 1.3; color: #d8d8d8; }
.phx-tallR.phs-long .phs-lead { font-size: 31px; } .phx-tallR.phs-long .phs-body { font-size: 24px; }
.phx-over { left: 640px; top: 0; width: 1280px; height: 1080px; margin: 0; z-index: 0 !important; }
.phx-over::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #000 0, rgba(0,0,0,.35) 40%, rgba(0,0,0,0) 100%); }
.phx-overH { left: 90px; top: 80px; width: 1500px; z-index: 3 !important; text-shadow: 0 6px 40px rgba(0,0,0,.7); }
.phx-overT { left: 100px; top: 640px; width: 780px; display: flex; flex-direction: column; gap: 22px; z-index: 3 !important; }
.phx-overT .phs-lead { font-size: 40px; line-height: 1.2; } .phx-overT .phs-body { font-size: 30px; line-height: 1.3; color: #dcdcdc; }
.phx-overT.phs-long .phs-lead { font-size: 34px; } .phx-overT.phs-long .phs-body { font-size: 26px; }

/* the fifteen guide openers come in three looks: word left (default), word right, and one centred wall of type */
.mx-open[data-pose="1"] .mx-o-word, .mx-open[data-pose="4"] .mx-o-word, .mx-open[data-pose="7"] .mx-o-word, .mx-open[data-pose="10"] .mx-o-word, .mx-open[data-pose="13"] .mx-o-word { left: auto; right: 70px; text-align: right; }
.mx-open[data-pose="1"] .mx-o-goal, .mx-open[data-pose="4"] .mx-o-goal, .mx-open[data-pose="7"] .mx-o-goal, .mx-open[data-pose="10"] .mx-o-goal, .mx-open[data-pose="13"] .mx-o-goal { left: 96px; top: 210px; width: 760px; }
.mx-open[data-pose="1"] .mx-o-cav, .mx-open[data-pose="4"] .mx-o-cav, .mx-open[data-pose="7"] .mx-o-cav, .mx-open[data-pose="10"] .mx-o-cav, .mx-open[data-pose="13"] .mx-o-cav { left: 96px; top: 800px; width: 780px; }
.mx-open[data-pose="2"] .mx-o-word, .mx-open[data-pose="5"] .mx-o-word, .mx-open[data-pose="8"] .mx-o-word, .mx-open[data-pose="11"] .mx-o-word, .mx-open[data-pose="14"] .mx-o-word { left: 0; top: 80px; width: 1920px; text-align: center; font-size: 280px; }
.mx-open[data-pose="2"] .mx-o-goal, .mx-open[data-pose="5"] .mx-o-goal, .mx-open[data-pose="8"] .mx-o-goal, .mx-open[data-pose="11"] .mx-o-goal, .mx-open[data-pose="14"] .mx-o-goal { left: 260px; top: 715px; width: 1400px; text-align: center; }
.mx-open[data-pose="2"] .mx-o-goal .lead, .mx-open[data-pose="5"] .mx-o-goal .lead, .mx-open[data-pose="8"] .mx-o-goal .lead, .mx-open[data-pose="11"] .mx-o-goal .lead, .mx-open[data-pose="14"] .mx-o-goal .lead { font-size: 44px; }
.mx-open[data-pose="2"] .mx-chips, .mx-open[data-pose="5"] .mx-chips, .mx-open[data-pose="8"] .mx-chips, .mx-open[data-pose="11"] .mx-chips, .mx-open[data-pose="14"] .mx-chips { justify-content: center; margin-top: 18px; }
.mx-open[data-pose="2"] .mx-o-cav, .mx-open[data-pose="5"] .mx-o-cav, .mx-open[data-pose="8"] .mx-o-cav, .mx-open[data-pose="11"] .mx-o-cav, .mx-open[data-pose="14"] .mx-o-cav { left: 260px; top: 962px; width: 1400px; text-align: center; }
.mx-open[data-pose="2"] .mx-o-cav .body, .mx-open[data-pose="5"] .mx-o-cav .body, .mx-open[data-pose="8"] .mx-o-cav .body, .mx-open[data-pose="11"] .mx-o-cav .body, .mx-open[data-pose="14"] .mx-o-cav .body { font-size: 28px; }
.mx-open[data-pose="2"] .mx-o-cav .tag, .mx-open[data-pose="5"] .mx-o-cav .tag, .mx-open[data-pose="8"] .mx-o-cav .tag, .mx-open[data-pose="11"] .mx-o-cav .tag, .mx-open[data-pose="14"] .mx-o-cav .tag { display: none; }

/* centred opener: tighter so two rows of chips never reach the caveat */
.mx-open[data-pose="2"] .mx-o-word, .mx-open[data-pose="5"] .mx-o-word, .mx-open[data-pose="8"] .mx-o-word, .mx-open[data-pose="11"] .mx-o-word, .mx-open[data-pose="14"] .mx-o-word { top: 56px; font-size: 250px; }
.mx-open[data-pose="2"] .mx-o-goal, .mx-open[data-pose="5"] .mx-o-goal, .mx-open[data-pose="8"] .mx-o-goal, .mx-open[data-pose="11"] .mx-o-goal, .mx-open[data-pose="14"] .mx-o-goal { left: 110px; top: 618px; width: 1700px; }
.mx-open[data-pose="2"] .mx-o-goal .lead, .mx-open[data-pose="5"] .mx-o-goal .lead, .mx-open[data-pose="8"] .mx-o-goal .lead, .mx-open[data-pose="11"] .mx-o-goal .lead, .mx-open[data-pose="14"] .mx-o-goal .lead { font-size: 42px; }
.mx-open[data-pose="2"] .mx-chips, .mx-open[data-pose="5"] .mx-chips, .mx-open[data-pose="8"] .mx-chips, .mx-open[data-pose="11"] .mx-chips, .mx-open[data-pose="14"] .mx-chips { margin-top: 12px; gap: 8px 10px; }
.mx-open[data-pose="2"] .mx-o-cav, .mx-open[data-pose="5"] .mx-o-cav, .mx-open[data-pose="8"] .mx-o-cav, .mx-open[data-pose="11"] .mx-o-cav, .mx-open[data-pose="14"] .mx-o-cav { left: 110px; top: 956px; width: 1700px; }
.mx-open[data-pose="2"] .mx-o-cav .body, .mx-open[data-pose="5"] .mx-o-cav .body, .mx-open[data-pose="8"] .mx-o-cav .body, .mx-open[data-pose="11"] .mx-o-cav .body, .mx-open[data-pose="14"] .mx-o-cav .body { font-size: 27px; line-height: 1.25; }
.mx-open[data-pose="2"] .mx-o-gl, .mx-open[data-pose="5"] .mx-o-gl, .mx-open[data-pose="8"] .mx-o-gl, .mx-open[data-pose="11"] .mx-o-gl, .mx-open[data-pose="14"] .mx-o-gl { left: 1340px; top: 10px; width: 560px; height: 560px; }
