/* Kandeel show deck — 41 scenes (ex-PowerPoint), same 2:1 stage sizing language as led.css (cqh/cqw of its own box). */
#deck { position: fixed; inset: 0; z-index: 25; display: none; background: #000; }
#deck.on { display: grid; place-items: center; }
.dwrap { position: relative; width: min(100vw, 333.333vh); height: min(30vw, 100vh); /* FORK 2026-11-14: 10x3 m LED (was 8x4 m / 2:1) */ container-type: size; overflow: hidden;
  background: radial-gradient(65% 85% at 50% 40%, #2a1e15 0%, transparent 65%), linear-gradient(180deg, var(--esp2), var(--esp) 75%); }
#deckfx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 8; }
.dcontent { position: absolute; inset: 13cqh 7cqw 7cqh 7cqw; z-index: 2; display: flex; flex-direction: column; justify-content: center;
  animation: din .5s ease both; }
@keyframes din { from { opacity: 0; transform: translateY(1.6cqh); } to { opacity: 1; transform: none; } }
/* MFZ_PA 2026-11-11: footer→header per MFZ (8x4m LED — stage/podium/heads hide the bottom band).
   Moved from bottom:2.6cqh to top:2.6cqh, same two elements, same mirrored corners (logo stays
   top-right, event line top-left — was bottom-right/bottom-left in RTL flex order, unchanged). */
.dhead { position: absolute; top: 2.6cqh; right: 4cqw; left: 4cqw; display: flex; justify-content: space-between; align-items: center;
  font-size: 2.4cqh; color: var(--muted); z-index: 4; }
/* MFZ_PA 2026-11-14 (MFZ: +50% on the show header logo) — was 4.4cqh, ×1.5. .dhead's own box has no
   explicit height, so it grows with this image (align-items:center); still clears .dcontent's top
   inset (13cqh) by a comfortable margin: 2.6cqh + 6.6cqh = 9.2cqh bottom edge, 3.8cqh to spare. */
.dlogo { height: 6.6cqh; width: auto; opacity: .85; }

.d-kicker { font-size: 3.6cqh; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.6cqh; }
.d-title { font-size: 9cqh; font-weight: 800; line-height: 1.4; padding: .06em 0; background: linear-gradient(180deg, var(--gold2), var(--gold) 55%, var(--bronze)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.d-sub { font-size: 4.2cqh; font-weight: 500; line-height: 1.5; color: var(--cream); margin-top: 2cqh; max-width: 80cqw; }
.d-note { font-size: 2.6cqh; color: var(--muted); margin-top: 2.4cqh; }
.d-tag { font-size: 3cqh; letter-spacing: .1em; color: var(--gold); margin-top: 2cqh; }

/* cover / thanks */
.k-cover .dcontent, .k-thanks .dcontent { align-items: center; text-align: center; justify-content: center; }
.k-cover .d-title, .k-thanks .d-title { font-size: 13cqh; }
.k-thanks .hotline { font-size: 3.4cqh; color: var(--cream); margin-top: 1.4cqh; }
.k-thanks .hotline b { color: var(--gold); font-weight: 800; }

/* guest (talk-show lower-third) */
.k-guest .dcontent { align-items: flex-start; justify-content: center; }
.g-name { font-size: 11cqh; font-weight: 800; color: var(--cream); line-height: 1.35; }
.g-title { font-size: 4cqh; color: var(--gold); margin-top: 1.4cqh; font-weight: 500; }
/* MFZ_PA 2026-11-11: bottom offset is relative to .dcontent's own box (cqh resolves against .dwrap,
   but .dcontent now has bottom:7cqh — total clearance from the real stage floor = 7+15=22cqh, clear
   of the bottom ~20% safe-zone). */
.g-sub { position: absolute; left: 7cqw; bottom: 15cqh; font-size: 3.2cqh; color: var(--muted); letter-spacing: .08em; }

/* mc question card */
.k-mc .dcontent { align-items: center; text-align: center; justify-content: center; gap: 2cqh; }
.mc-mark { font-size: 14cqh; font-weight: 900; color: var(--bronze); line-height: 1; }
.mc-q { font-size: 6.6cqh; font-weight: 700; line-height: 1.4; max-width: 86cqw; color: var(--cream); }
.mc-by { font-size: 2.8cqh; color: var(--gold); letter-spacing: .1em; margin-top: 1.4cqh; }

/* stat tiles */
.d-stats { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); gap: 3cqw; margin-top: 3.4cqh; border-top: .22cqh solid rgba(207,196,177,.22); padding-top: 3cqh; }
.d-stats.wrap3 { grid-auto-flow: row; grid-template-columns: repeat(3,1fr); }
.d-stat b { display: block; font-size: 7cqh; font-weight: 800; color: var(--gold2); line-height: 1.05; font-variant-numeric: tabular-nums; }
.d-stat span { display: block; font-size: 2.6cqh; color: var(--muted); margin-top: .8cqh; line-height: 1.4; }
.d-companies { display: grid; grid-template-columns: repeat(5,1fr); gap: 1.6cqw; margin-top: 3cqh; }
.d-companies div { border: .18cqh solid rgba(207,196,177,.2); border-radius: 1cqh; padding: 1.4cqh 1cqw; text-align: center; }
.d-companies b { display: block; font-size: 2.6cqh; color: var(--cream); }
.d-companies span { display: block; font-size: 2cqh; color: var(--muted); margin-top: .5cqh; }

/* video placeholder slate */
.k-video .dcontent { align-items: center; text-align: center; justify-content: center; gap: 1.6cqh; }
.v-badge { font-size: 3cqh; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); border: .2cqh solid var(--bronze); border-radius: 99px; padding: .8cqh 2.4cqw; }
.v-icon { font-size: 10cqh; }

/* keypoints (6 numbered reasons) */
.d-bullets { display: grid; grid-template-columns: repeat(2,1fr); gap: 2cqh 3cqw; margin-top: 3cqh; }
.d-bullets .bl { display: flex; gap: 1.4cqw; align-items: flex-start; }
.d-bullets .bn { font-size: 4cqh; font-weight: 800; color: var(--bronze); flex: 0 0 auto; }
.d-bullets .bt b { display: block; font-size: 3cqh; color: var(--cream); font-weight: 700; }
.d-bullets .bt span { display: block; font-size: 2.4cqh; color: var(--muted); margin-top: .4cqh; }

/* gift round intro — mirrors led.css idle styling for continuity */
.k-gift .dcontent { align-items: center; text-align: center; justify-content: center; gap: 1.6cqh; }
.k-gift .d-title { font-size: 15cqh; }
.k-gift .d-sub { font-size: 5cqh; color: var(--gold); margin-top: 0; }
.k-gift .d-qr-hint { font-size: 2.8cqh; color: var(--muted); margin-top: 2.4cqh; }

/* round winner / champion */
.k-winner .dcontent { align-items: center; text-align: center; justify-content: center; gap: 1.4cqh; }
.k-winner .trophy { font-size: 10cqh; }
.k-winner .champ-name { font-size: 15cqh; font-weight: 900; line-height: 1.35; padding: .05em 0; max-width: 88cqw;
  background: linear-gradient(180deg, #fff6e3, var(--gold2) 40%, var(--gold) 75%, var(--bronze)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 3cqh rgba(224,176,119,.45)); }
.k-winner .champ-ph { font-size: 6cqh; color: var(--muted); }

/* MFZ_PA 2026-11-12: persistent "now presenting" corner badge — see led.html/deck.mjs comments.
   Placed top-left in the ~6cqh gap between .dhead and .dcontent (never the bottom band — the
   2026-11-11 lesson on this same stage: stage/podium/heads at the live 8x4m LED hide the bottom). */
#spkBadge { position: absolute; top: 7.6cqh; left: 4cqw; z-index: 6; display: none; align-items: center; gap: 1.4cqw;
  background: rgba(21,16,12,.55); border: .14cqh solid rgba(224,176,119,.35); border-radius: 99px;
  padding: .5cqh 2.2cqw .5cqh .5cqh; backdrop-filter: blur(6px); opacity: 0; transition: opacity .35s ease; }
#spkBadge.on { display: flex; opacity: 1; }
#spkBadge .spkb-photo { width: 5.6cqh; height: 5.6cqh; border-radius: 50%; overflow: hidden; flex: 0 0 auto;
  border: .1cqh solid rgba(224,176,119,.4); background: var(--esp); }
/* MFZ_PA 2026-11-12 (v3 corporate pass): badge draws from the same rembg cutout as #speakercard
   (deck.js cutoutUrl()) but neutral B&W, no duotone tint / glow — consistent with the main card. */
#spkBadge .spkb-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block;
  filter: grayscale(1) contrast(1.08) brightness(1.03); }
#spkBadge .spkb-nameAr { font-size: 2.3cqh; font-weight: 700; color: var(--cream); white-space: nowrap; }

/* blackout / logo hold */
#blackout { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; background: #000; }
#blackout.on { display: flex; }
#blackout img { width: 16vw; max-width: 260px; min-width: 120px; opacity: .92; }
