/* CEDemo · casco comum. Sem transition, sem animation: todo movimento vem do GSAP. */
.cd{position:relative;width:100%;height:100%;display:flex;flex-direction:column;color:#fff;font-family:var(--body,'Figtree',system-ui,sans-serif)}
.cd *{box-sizing:border-box}
.cd-vp{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:24px;background:var(--navy,#0A0F36)}
.cd-cam{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.cd-cap{flex:0 0 auto;margin-top:24px;padding:20px 28px 22px;background:#12184a;border-radius:20px}
.cd-lab{display:block;font-family:var(--mono,'JetBrains Mono',monospace);font-weight:700;font-size:20px;letter-spacing:.14em;text-transform:uppercase;color:var(--ciano,#00F9FF);margin-bottom:8px}
.cd-txt{font-family:var(--display,'Space Grotesk',system-ui,sans-serif);font-weight:500;font-size:32px;line-height:40px;letter-spacing:-.01em;color:#fff;min-height:40px}
.cd-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}
.cd-dots{display:flex;gap:10px;flex-wrap:wrap}
.cd-dot,.cd-btn{font-family:var(--mono,'JetBrains Mono',monospace);font-weight:700;font-size:20px;color:#fff;background:#12184a;border:0;border-radius:999px;min-width:48px;height:48px;padding:0 16px;cursor:pointer}
.cd-dot.on{background:var(--verde,#00D95C);color:var(--navy,#0A0F36)}
.cd-dot.done{background:#27307a}
.cd-btn:disabled{opacity:.35;cursor:default}
.cd-btn:hover:not(:disabled),.cd-dot:hover{background:#27307a}
.cd-dot.on:hover{background:var(--verde,#00D95C)}
.cd-ctl{display:flex;align-items:center;gap:10px}
.cd-count{font-family:var(--mono,'JetBrains Mono',monospace);font-size:20px;color:rgba(255,255,255,.72);margin-left:8px;min-width:90px}
.cd-btn:focus-visible,.cd-dot:focus-visible{outline:3px solid var(--ciano,#00F9FF);outline-offset:2px}

/* faixa de baixo: legenda à esquerda, capítulos e controles à direita */
.cd-below{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;gap:20px 40px}
.cd-below .cd-vp{grid-column:1 / span 2;grid-row:1}
.cd-below .cd-cap{grid-column:1;grid-row:2;margin:0}
.cd-below .cd-bar{grid-column:2;grid-row:2;flex-direction:column;align-items:flex-end;gap:12px;margin:0}
.cd-below .cd-dots{justify-content:flex-end}

/* variante lateral: o celular à esquerda, a legenda grande à direita */
.cd-side{display:grid;grid-template-columns:var(--cd-vpw,440px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;column-gap:96px;row-gap:0}
.cd-side .cd-vp{grid-column:1 / -1;grid-row:1 / span 2;background:transparent;border-radius:0}
.cd-side .cd-cap{grid-column:2;grid-row:1;align-self:start;margin:0;background:transparent;padding:30px 0 0;position:relative;z-index:3}
.cd-num{display:none}
.cd-side .cd-num{display:block;font:700 150px/1 var(--display,'Space Grotesk',sans-serif);letter-spacing:-.06em;color:var(--verde,#00D95C);margin-bottom:14px}
.cd-side .cd-lab{font-size:20px;margin-bottom:12px}
.cd-side .cd-txt{font-size:64px;line-height:80px;letter-spacing:-.03em;font-weight:600;min-height:160px}
.cd-side .cd-bar{grid-column:2;grid-row:2;flex-direction:column;align-items:flex-start;gap:12px;margin:0;position:relative;z-index:3}

/* celular do espectador (classe html.m, nunca media query: a impressão não pode herdar este layout) */
html.m .cd-side{display:flex;flex-direction:column}
html.m .cd-side .cd-vp{flex:0 0 auto;height:min(78vh,760px);align-self:center;width:100%}
html.m .cd-side .cd-cap{margin-top:16px;padding:16px 18px;background:#12184a;border-radius:16px}
html.m .cd-side .cd-txt{font-size:24px;line-height:30px;min-height:60px}
html.m .cd-txt{font-size:22px;line-height:28px;min-height:56px}
html.m .cd-lab{font-size:14px}
html.m .cd-dot,html.m .cd-btn{font-size:16px;min-width:44px;height:44px;padding:0 12px}
html.m .cd-count{font-size:14px;min-width:60px}
html.m .cd-bar{flex-direction:column;align-items:flex-start;gap:12px}

/* lista de capítulos ao lado da jornada: onde estamos e o que já passou */
.cd-steps{display:none;list-style:none}
.cd-side .cd-steps{display:flex;flex-direction:column;gap:2px;margin-top:28px}
.cd-side .cd-dots{display:none}
.cd-steps li{display:flex;gap:16px;align-items:baseline;font:700 20px/32px var(--mono,'JetBrains Mono',monospace);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);cursor:pointer;border-radius:8px}
.cd-steps li:focus-visible{outline:3px solid var(--ciano,#00F9FF);outline-offset:2px}
.cd-steps li b{color:rgba(255,255,255,.4);min-width:34px}
.cd-steps li.done{color:rgba(255,255,255,.7)}
.cd-steps li.on{color:#fff}
.cd-steps li.on b{color:var(--verde,#00D95C)}
html.m .cd-steps{display:none!important}
html.m .cd-side .cd-dots{display:flex}
html.m .cd-num{display:none!important}
html.pdf .cd-side .cd-cap{top:0}

.cd-below .cd-txt{min-height:80px}
html.m .cd-ctl{flex-wrap:wrap;gap:8px;max-width:100%}
html.m .cd-count{margin-left:0}
