/* ===========================================================================
   SISTEMA DE DISEÑO — PRESENTACIONES aosenuma
   Paleta tomada del branding real (#1a8894) · tipografías Bricolage / Inter /
   Barlow · formato 16:9 · pensado para navegador (preview) y PDF (pagedjs-cli).
   Las fuentes y la marca se cargan desde fonts.css y brand.css.
   =========================================================================== */

:root{
  /* --- Marca (esquema OFICIAL del PPTX 3Y · "Personalizados 1") --- */
  --teal:        #008894;   /* accent1 — teal de marca */
  --teal-deep:   #00505c;   /* dk2 — teal profundo (portada/dividers/títulos) */
  --teal-ink:    #0c3a40;   /* títulos oscuros sobre claro */
  --teal-soft:   #5fb0b8;   /* teal claro — palabras finas sobre fondo teal */
  --teal-gray:   #467879;   /* accent6 — teal apagado (secundario) */
  --accent:      #008894;   /* énfasis: palabras y números destacados */
  --lime:        #d2d95d;   /* accent2 — olivo/lima (círculos numerados, banners OKR) */
  --lime-deep:   #aeb53e;   /* olivo más oscuro (texto/barras sobre claro) */

  /* --- Neutros --- */
  --ink:    #25272a;   /* dk1 — texto cuerpo */
  --gray:   #585856;   /* gris institucional (del logo) */
  --gray-2: #8a9492;   /* gris claro: captions, notas */
  --cream:  #f3f5ef;   /* lt1 — fondo de slides de contenido */
  --sage:   #e5eadd;   /* accent3 — salvia pálido (cajas suaves, bandas) */
  --mint:   #c2d8cf;   /* accent4 — menta apagado */
  --sage-gray: #ced0bd;/* accent5 — gris verdoso */
  --paper:  #ffffff;
  --hair:   #dce3e0;   /* hairline */
  --rule:   #c6d0cd;   /* regla divisoria */
  --mist:   #e5eadd;   /* caja suave (cita / stat) = salvia */

  /* --- Estados (semáforo, de la línea editorial AS-IS) --- */
  --ok:#1e9e6e;  --warn:#d8a21a;  --info:#2d6cb5;  --off:#b6bfbd;  --crit:#c04b3a;
  --ok-ink:#15725a; --warn-ink:#9a720d; --info-ink:#26588f; --crit-ink:#a23a2b;

  /* --- Tipografías --- */
  --f-display:'Bricolage Grotesque','Inter',system-ui,sans-serif;
  --f-body:   'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-label:  'Barlow','Inter',system-ui,sans-serif;

  /* --- Geometría del slide (16:9 estándar PowerPoint) --- */
  --slide-w: 13.333in;
  --slide-h: 7.5in;
  --mx: 18mm;   /* margen lateral del contenido */
  --mt: 24mm;   /* zona superior (debajo del header) */
  --mb: 17mm;   /* zona inferior (encima del footer) */

  /* === CONFIG POR DECK — se sobreescribe en el HTML (bloque "EDITA AQUÍ") === */
  --deck-title: "";   /* título corriente, esquina superior izquierda */
  --deck-url:   "www.aosenuma.com";
  --deck-date:  "";   /* fecha, esquina inferior derecha */
}

*{ box-sizing:border-box; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
html,body{ margin:0; padding:0; }
body{ font-family:var(--f-body); color:var(--ink); font-size:12.5pt; line-height:1.5;
      -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

/* ----------------------------- PÁGINA / PDF ------------------------------- */
@page{ size: 13.333in 7.5in; margin: 0; }
.stage{ counter-reset: pg; }

/* --------------------------- CONTENEDOR SLIDE ----------------------------- */
.slide{
  position:relative; overflow:hidden;
  width:var(--slide-w); height:var(--slide-h);
  background:var(--cream); color:var(--ink);
  counter-increment: pg;
  break-after: page; break-inside: avoid; page-break-after: always;
}
.slide:last-child{ break-after: auto; page-break-after: auto; }
.slide--cover{ counter-increment: none; }   /* la portada no cuenta */

/* zona de contenido por defecto (centrada verticalmente, como Naturgy) */
.slide__body{
  position:absolute; left:var(--mx); right:var(--mx); top:var(--mt); bottom:var(--mb);
  display:flex; flex-direction:column; justify-content:center;
}
.slide__body.top{ justify-content:flex-start; }
.slide--bleed .slide__body{ left:0; right:0; top:0; bottom:0; }

/* ------------------------------- CHROME ----------------------------------- */
/* Header: eyebrow (izq, auto desde --deck-title) + ícono de marca (der) */
.slide__head{
  position:absolute; top:9mm; left:var(--mx); right:var(--mx); z-index:6;
  display:flex; justify-content:space-between; align-items:center;
}
.slide__head .eyebrow-run{
  font-family:var(--f-label); font-size:8pt; color:var(--gray);
  letter-spacing:.02em;
}
.slide__head .eyebrow-run::before{ content: var(--deck-title); }
.slide__head .mark{
  width:13mm; height:13mm; background:var(--icono-color) center/contain no-repeat;
}

/* Footer: url (izq) · número (centro) · fecha (der), con hairline superior */
.slide__foot{
  position:absolute; bottom:7mm; left:var(--mx); right:var(--mx); z-index:6;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding-top:4pt; border-top:.5pt solid var(--rule);
  font-family:var(--f-label); font-size:8pt; color:var(--gray-2);
}
.slide__foot .u{ justify-self:start; }
.slide__foot .u::before{ content: var(--deck-url); }
.slide__foot .n{ justify-self:center; color:var(--gray); }
.slide__foot .n::after{ content: counter(pg); }
.slide__foot .d{ justify-self:end; }
.slide__foot .d::before{ content: var(--deck-date); }

/* ----------------------------- TIPOGRAFÍA --------------------------------- */
.eyebrow{ font-family:var(--f-label); font-weight:600; font-size:8.5pt;
  letter-spacing:.16em; text-transform:uppercase; color:var(--teal); margin:0 0 7pt; }
.kicker{ font-family:var(--f-label); font-weight:600; font-size:9pt;
  letter-spacing:.06em; color:var(--gray); margin:0 0 6pt; }

h1,h2,h3{ font-family:var(--f-display); color:var(--teal-ink); margin:0; font-weight:600; }
h1.title{ font-weight:300; font-size:30pt; line-height:1.08; letter-spacing:-.012em; }
h2.title{ font-weight:300; font-size:25pt; line-height:1.12; letter-spacing:-.01em; }
h3.sh{ font-weight:600; font-size:14.5pt; line-height:1.25; margin:0 0 5pt; }
.lead{ font-size:13pt; line-height:1.5; color:var(--ink); }
p{ margin:0 0 8pt; }
p:last-child{ margin-bottom:0; }
.justify p{ text-align:justify; }
strong{ font-weight:600; color:var(--teal-ink); }
em,.accent{ font-style:normal; font-weight:500; color:var(--accent); }
.muted{ color:var(--gray-2); }
.note{ font-size:8pt; color:var(--gray-2); line-height:1.5; }
.right{ text-align:right; } .center{ text-align:center; }

ul.list{ margin:6pt 0 0; padding-left:0; list-style:none; }
ul.list li{ position:relative; padding-left:16pt; margin:0 0 7pt; line-height:1.45; }
ul.list li::before{ content:""; position:absolute; left:0; top:.5em;
  width:6pt; height:6pt; border-radius:50%; background:var(--teal); }

/* reglita de acento corta + hairline largo */
.rule{ width:54pt; height:2.5pt; background:var(--teal); border:0; margin:9pt 0; }
.hr{ border:0; border-top:.6pt solid var(--rule); margin:12pt 0; }

/* ============================ COMPONENTES ================================= */

/* --- Layout dos columnas genérico --- */
.cols{ display:grid; gap:14mm; align-items:center; }
.cols.c-58{ grid-template-columns:58% 1fr; }
.cols.c-50{ grid-template-columns:1fr 1fr; }
.cols.c-65{ grid-template-columns:65% 1fr; }
.cols.top{ align-items:start; }

/* --- Imagen circular (firma visual aosenuma) --- */
.circ{ border-radius:50%; background:var(--mist) center/cover no-repeat;
  box-shadow:0 8px 30px rgba(16,58,63,.18); }
.circ--ring{ box-shadow:0 0 0 7px var(--cream), 0 8px 30px rgba(16,58,63,.18); }
.circ-stack{ position:relative; height:100%; min-height:118mm; }
.circ-stack .big{ position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:104mm; height:104mm; }
.circ-stack .small{ position:absolute; left:2mm; bottom:6mm; width:52mm; height:52mm; }

/* --- Imagen a sangre con etiquetas tipo "antes / después" --- */
.bleed-grid{ position:absolute; inset:0; display:grid; }
.bleed-grid.two{ grid-template-columns:1fr 1fr; }
.bleed-cell{ background:var(--teal-deep) center/cover no-repeat; position:relative; }
.pill{ position:absolute; left:50%; bottom:14mm; transform:translateX(-50%);
  font-family:var(--f-label); font-size:11pt; color:#fff; letter-spacing:.02em;
  padding:6pt 16pt; border:1pt solid rgba(255,255,255,.85); border-radius:40pt;
  background:rgba(16,40,40,.28); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); white-space:nowrap; }
/* franja de texto superior para slides bleed */
.bleed-cap{ position:absolute; left:0; right:0; top:0; padding:22mm var(--mx) 9mm; z-index:2;
  background:linear-gradient(180deg,var(--cream) 60%, rgba(238,241,234,0)); }
/* scrim inferior: garantiza contraste del footer y los pills sobre cualquier foto */
.slide--bleed .bleed-grid::after{ content:""; position:absolute; left:0; right:0; bottom:0;
  height:26mm; background:linear-gradient(0deg, rgba(12,38,40,.52), rgba(12,38,40,0));
  pointer-events:none; z-index:1; }
.slide--bleed .pill{ z-index:3; }
.slide--bleed .slide__foot{ color:rgba(255,255,255,.92); border-top-color:rgba(255,255,255,.35); }
.slide--bleed .slide__foot .n,
.slide--bleed .slide__foot .u, .slide--bleed .slide__foot .d{ color:rgba(255,255,255,.85); }

/* --- Lista con íconos (features) --- */
.ico-list{ display:flex; flex-direction:column; gap:11pt; }
.ico-row{ display:grid; grid-template-columns:34pt 1fr; gap:12pt; align-items:start; }
.ico-row .ico{ width:34pt; height:34pt; display:flex; align-items:center; justify-content:center; }
.ico-row .ico svg{ width:30pt; height:30pt; fill:none; stroke:var(--teal); stroke-width:1.6; }
.ico-row .tx{ font-size:11pt; line-height:1.42; padding-top:2pt; }

/* --- Stats estilo Naturgy (headline + caption) --- */
.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:13mm 12mm; }
.stat .h{ font-size:14pt; line-height:1.22; color:var(--teal-ink); font-weight:600;
  font-family:var(--f-display); margin:0 0 6pt; }
.stat .h em{ font-weight:600; }
.stat .c{ font-size:9.5pt; line-height:1.45; color:var(--gray); }

/* --- KPIs (número grande, estilo dashboard) --- */
.kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:10mm; }
.kpi{ border-top:1.5pt solid var(--teal-ink); padding-top:7pt; }
.kpi .v{ font-family:var(--f-display); font-weight:300; font-size:32pt; line-height:1;
  color:var(--teal-ink); letter-spacing:-.01em; }
.kpi .v em{ color:var(--accent); font-weight:300; }
.kpi .l{ font-size:9pt; color:var(--gray); margin-top:5pt; line-height:1.4; }

/* --- Tarjetas --- */
.cards{ display:grid; gap:8mm; }
.cards.c3{ grid-template-columns:repeat(3,1fr); }
.cards.c2{ grid-template-columns:1fr 1fr; }
.card{ background:var(--paper); border:.6pt solid var(--hair); border-radius:4pt;
  padding:9mm 8mm; }
.card .ct{ font-family:var(--f-display); font-weight:600; font-size:13pt;
  color:var(--teal-ink); margin:0 0 5pt; }
.card .cn{ font-size:10pt; color:var(--ink); line-height:1.45; }
.card--teal{ background:var(--teal-deep); border-color:var(--teal-deep); color:#eaf4f3; }
.card--teal .ct{ color:#fff; } .card--teal .cn{ color:#d3e7e5; }

/* --- Cita --- */
.quote{ background:var(--mist); padding:11mm 12mm; border-left:3pt solid var(--teal); }
.quote .q{ font-family:var(--f-display); font-weight:400; font-size:18pt; line-height:1.34;
  color:var(--teal-deep); }
.quote .q::before{ content:"\201C"; color:var(--teal); font-weight:700; margin-right:.06em; }
.quote .q::after{ content:"\201D"; color:var(--teal); font-weight:700; }
.quote .who{ font-family:var(--f-label); font-size:9.5pt; color:var(--gray);
  margin-top:9pt; letter-spacing:.03em; }

/* --- Tabla etiqueta / descripción (de la línea AS-IS) --- */
table.lt{ width:100%; border-collapse:collapse; }
table.lt th{ font-family:var(--f-label); text-align:left; font-size:8.5pt;
  letter-spacing:.13em; text-transform:uppercase; color:var(--teal); font-weight:600;
  border-bottom:1.2pt solid var(--teal-ink); padding:0 10pt 6pt 0; }
table.lt td{ vertical-align:top; border-bottom:.5pt solid var(--hair);
  padding:8pt 10pt 8pt 0; font-size:10.5pt; line-height:1.45; }
table.lt td.k{ font-weight:600; color:var(--teal-ink); width:24%; }

/* --- Chips de veredicto + dots de estado (semáforo) --- */
.chip{ font-family:var(--f-label); display:inline-block; padding:3.5pt 10pt;
  border:1pt solid; border-radius:3pt; font-size:8pt; letter-spacing:.1em;
  text-transform:uppercase; font-weight:600; margin:0 4pt 4pt 0; }
.chip.green{ color:var(--ok-ink); border-color:var(--ok-ink); background:#eef8f3; }
.chip.amber{ color:var(--warn-ink); border-color:var(--warn); background:#fcf6e6; }
.chip.red{ color:var(--crit-ink); border-color:var(--crit); background:#fbeeec; }
.chip.gray{ color:var(--gray); border-color:#aab3b1; background:#f3f5f5; }
.dot{ display:inline-block; width:8pt; height:8pt; border-radius:50%; margin-right:5pt;
  vertical-align:-.5pt; }
.dot.ok{ background:var(--ok); } .dot.warn{ background:var(--warn); }
.dot.info{ background:var(--info); } .dot.off{ background:var(--off); }
.dot.crit{ background:var(--crit); }

/* --- Barras horizontales (rango / escenarios) --- */
.bars{ display:flex; flex-direction:column; gap:9pt; }
.bar-row{ display:grid; grid-template-columns:1fr; gap:4pt; }
.bar{ height:20pt; border-radius:3pt; display:flex; align-items:center; padding:0 10pt;
  color:#fff; font-family:var(--f-label); font-weight:600; font-size:9.5pt; }
.bar.deep{ background:var(--teal-deep); }
.bar.mid{ background:var(--lime); color:var(--teal-deep); }   /* olivo de marca (accent2) */
.bar.teal{ background:var(--teal); }
.bar-row .cap{ font-size:9pt; color:var(--gray); font-style:italic; font-family:var(--f-body); }

/* --- L3 · OKR: objetivo (banner olivo) + tabla Resultado Clave / Meta --- */
.okr-banner{ display:flex; align-items:stretch; gap:12pt; margin:12pt 0 18pt; }
.okr-banner .okr-key{ display:flex; align-items:center; padding:0 6pt; white-space:nowrap;
  font-family:var(--f-display); font-weight:600; font-size:19pt; color:var(--teal-ink); letter-spacing:.04em; }
.okr-banner .okr-name{ flex:1; display:flex; align-items:center; background:var(--lime);
  border-radius:36pt; padding:12pt 24pt; color:var(--teal-deep);
  font-family:var(--f-display); font-weight:600; font-size:14pt; }
.kr-head{ display:grid; grid-template-columns:1fr 165pt; gap:14pt; margin-bottom:7pt; }
.kr-head .ph{ border:1.2pt solid var(--teal); border-radius:30pt; padding:9pt 12pt; text-align:center;
  font-family:var(--f-display); font-weight:600; font-size:12.5pt; color:var(--teal-deep); }
.kr-row{ display:grid; grid-template-columns:1fr 165pt; gap:14pt; align-items:center;
  border-bottom:.6pt solid var(--rule); padding:12pt 4pt; }
.kr-row .kr{ font-size:11pt; line-height:1.4; color:var(--ink); }
.kr-row .meta{ text-align:center; font-family:var(--f-label); font-weight:600; font-size:11.5pt; color:var(--teal-deep); }

/* --- L5 · Timeline vertical con íconos (método de 5 pasos) --- */
.timeline{ position:relative; }
.timeline::before{ content:""; position:absolute; left:21pt; top:12pt; bottom:12pt; width:1pt; background:var(--rule); }
.tl-node{ position:relative; display:grid; grid-template-columns:42pt 1fr; gap:15pt; margin-bottom:13pt; }
.tl-node:last-child{ margin-bottom:0; }
.tl-ico{ width:42pt; height:42pt; display:flex; align-items:center; justify-content:center;
  background:var(--cream); border-radius:50%; z-index:1; }
.tl-ico svg{ width:25pt; height:25pt; fill:none; stroke:var(--teal-ink); stroke-width:1.5;
  stroke-linecap:round; stroke-linejoin:round; }
.tl-tx h3{ font-family:var(--f-display); font-weight:600; font-size:13pt; color:var(--teal-ink); margin:0 0 3pt; }
.tl-tx p{ font-size:10.5pt; line-height:1.4; color:var(--ink); margin:0; }

/* helper: título en teal brillante (variante de algunos decks) */
.title--bright{ color:var(--teal); }

/* --- Línea del tiempo horizontal de medición (vida de producto) --- */
.mtl{ position:relative; height:4.28in; margin-top:8pt; }
.mtl .axis{ position:absolute; left:0; right:6pt; top:50%; height:3pt; transform:translateY(-50%);
  background:linear-gradient(90deg,var(--teal) 0%, var(--teal-deep) 100%); border-radius:2pt; z-index:1; }
.mtl .axis::after{ content:""; position:absolute; right:-7pt; top:50%; transform:translateY(-50%);
  width:0; height:0; border-left:8pt solid var(--teal-deep);
  border-top:5pt solid transparent; border-bottom:5pt solid transparent; }
.mtl-node{ position:absolute; top:0; bottom:0; width:1.84in; transform:translateX(-50%); }
.mtl-dot{ position:absolute; left:50%; top:50%; width:11pt; height:11pt; border-radius:50%;
  background:var(--teal); transform:translate(-50%,-50%); z-index:4;
  box-shadow:0 0 0 2.5pt var(--cream), 0 0 0 4pt var(--teal); }
.mtl-node.live .mtl-dot{ box-shadow:0 0 0 2.5pt var(--cream), 0 0 0 4pt var(--teal), 0 0 0 8pt rgba(0,136,148,.16); }
.mtl-conn{ position:absolute; left:50%; width:1.2pt; background:var(--rule); transform:translateX(-50%); z-index:2; }
.mtl-node.up .mtl-conn{ bottom:50%; height:13pt; }
.mtl-node.dn .mtl-conn{ top:50%; height:13pt; }
.mtl-card{ position:absolute; left:0; right:0; background:var(--paper);
  border:.6pt solid var(--hair); border-top:2.5pt solid var(--teal); border-radius:4pt;
  padding:6pt 8pt 7pt; box-shadow:0 7pt 20pt rgba(16,58,63,.07); }
.mtl-node.up .mtl-card{ bottom:calc(50% + 13pt); }
.mtl-node.dn .mtl-card{ top:calc(50% + 13pt); }
.mtl-cad{ font-family:var(--f-display); font-weight:600; font-size:10pt; color:var(--teal-ink); line-height:1.1; }
.mtl-freq{ display:block; font-family:var(--f-label); font-weight:600; font-size:6.4pt; letter-spacing:.08em;
  text-transform:uppercase; color:var(--teal); margin-top:2.5pt; }
.mtl-list{ list-style:none; margin:5pt 0 0; padding:5pt 0 0; border-top:.5pt solid var(--rule); }
.mtl-list li{ font-size:7.6pt; line-height:1.34; color:var(--ink); padding-left:8pt; position:relative; }
.mtl-list li::before{ content:""; position:absolute; left:0; top:.46em; width:3pt; height:3pt;
  border-radius:50%; background:var(--teal-gray); }
.mtl-sub{ font-size:10pt; line-height:1.4; color:var(--gray); margin:0 0 2pt; }

/* ====================== SLIDES ESPECIALES (teal) ========================= */

/* --- PORTADA --- */
.slide--cover{
  background:var(--teal);
  background-image:linear-gradient(140deg, var(--teal) 0%, var(--teal-deep) 100%);
  color:#fff;
}
.slide--cover .cover-row{ position:absolute; top:50%; left:0; right:0;
  transform:translateY(-50%); display:flex; align-items:center; justify-content:center; gap:0; }
.slide--cover .cover-logo{ width:78mm; height:34mm; background:var(--logo-blanco) right center/contain no-repeat; padding-right:14mm; }
.slide--cover .cover-div{ width:0; border-left:1pt solid rgba(255,255,255,.4); height:26mm; }
.slide--cover .cover-ttl{ padding-left:14mm; max-width:128mm; }
.slide--cover .cover-ttl h1{ font-family:var(--f-display); font-weight:300; color:#fff;
  font-size:23pt; line-height:1.16; letter-spacing:-.005em; }
.slide--cover .cover-date{ position:absolute; left:0; right:0; bottom:13mm; text-align:center;
  font-family:var(--f-label); font-size:10pt; color:rgba(255,255,255,.9); }
.slide--cover .cover-date::before{ content: var(--deck-date); }

/* --- DIVISOR DE SECCIÓN --- */
.slide--section{
  background:var(--teal-ink);
  background-image:linear-gradient(140deg, var(--teal-deep) 0%, var(--teal-ink) 100%);
  color:#fff;
}
.slide--section .sec-num{ position:absolute; top:14mm; right:18mm;
  font-family:var(--f-display); font-weight:700; font-size:150pt; line-height:.8;
  color:rgba(255,255,255,.10); }
.slide--section .sec-body{ position:absolute; left:var(--mx); right:var(--mx); bottom:26mm; }
.slide--section .sec-eyebrow{ font-family:var(--f-label); font-weight:600; font-size:9.5pt;
  letter-spacing:.2em; text-transform:uppercase; color:var(--teal-soft); margin-bottom:10pt; }
.slide--section h2{ color:#fff; font-weight:300; font-size:34pt; line-height:1.1;
  letter-spacing:-.01em; max-width:230mm; }
.slide--section .sec-rule{ width:64pt; height:2.5pt; background:var(--teal-soft); margin-top:14pt; }
.slide--section .slide__foot .n, .slide--closing .slide__foot .n{ color:rgba(255,255,255,.7); }
.slide--section .slide__foot, .slide--closing .slide__foot{ border-top-color:rgba(255,255,255,.25); }
.slide--section .slide__foot .u, .slide--section .slide__foot .d,
.slide--closing .slide__foot .u, .slide--closing .slide__foot .d{ color:rgba(255,255,255,.6); }

/* --- CIERRE / CONTACTO --- */
.slide--closing{
  background:var(--teal-deep);
  background-image:linear-gradient(118deg, var(--teal-deep) 0%, var(--teal-ink) 100%);
  color:#fff;
}
.slide--closing .close-mid{ position:absolute; top:50%; left:0; right:0; transform:translateY(-50%);
  text-align:center; }
.slide--closing .close-logo{ width:82mm; height:30mm; margin:0 auto 14mm;
  background:var(--logo-blanco) center/contain no-repeat; }
.slide--closing h2{ font-family:var(--f-label); color:#fff; font-weight:500; font-size:30pt; margin-bottom:8pt; }
.slide--closing .close-contact{ font-family:var(--f-label); font-size:11pt;
  color:rgba(255,255,255,.92); line-height:1.7; }
.slide--closing .close-contact a{ color:#fff; text-decoration:none; }

/* =========================== VISTA NAVEGADOR ============================== */
/* Solo pantalla: apila los slides como un deck. No afecta el PDF.
   (pagedjs re-parenta los .slide, así que ".stage > .slide" deja de aplicar.) */
@media screen{
  html{ scroll-snap-type:y proximity; background:#9fb0ad; }
  body{ background:#9fb0ad; }
  .stage{ display:flex; flex-direction:column; align-items:center; gap:26px;
    padding:34px 16px 80px; }
  .stage > .slide{ box-shadow:0 14px 48px rgba(0,0,0,.28); border-radius:3px;
    scroll-snap-align:center; flex:0 0 auto; }
  /* ajuste para que el slide (1280px) quepa en pantallas chicas */
  @media (max-width:1380px){ .stage > .slide{ zoom:.92; } }
  @media (max-width:1180px){ .stage > .slide{ zoom:.74; } }
  @media (max-width:940px){  .stage > .slide{ zoom:.56; } }
  /* barrita de ayuda flotante */
  .deck-help{ position:fixed; right:14px; bottom:14px; z-index:50;
    font-family:var(--f-label); font-size:11px; color:#0c2f33;
    background:rgba(255,255,255,.92); border:1px solid #cdd9d6; border-radius:8px;
    padding:7px 11px; box-shadow:0 6px 20px rgba(0,0,0,.18); }
  .deck-help b{ color:var(--teal); }
}
@media print{ .deck-help{ display:none !important; } }
