      /* ---------- Controles de lectura ---------- */
      .reader-toolbar {
          position: sticky;
          top: .5rem;
          z-index: 5;
          display: flex;
          gap: .5rem;
          align-items: center;
          justify-content: flex-end;
          margin-bottom: .75rem;
          padding: .4rem .5rem;
          background: rgba(255, 255, 255, .75);
          backdrop-filter: blur(8px);
          border: 1px solid var(--brand-gris-30, #e1e4e8);
          border-radius: 999px;
          box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
      }

      .reader-btn {
          appearance: none;
          border: 0;
          cursor: pointer;
          padding: .35rem .7rem;
          border-radius: 999px;
          font-weight: 700;
          background: linear-gradient(145deg,
                  var(--brand-azul-shade-20, #002a9f) 0%,
                  var(--brand-azul, #0133CC) 50%,
                  var(--brand-azul-tint-20, #375fe0) 100%);
          color: #fff;
          box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
          transition: filter .15s ease, transform .06s ease;
      }

      .reader-btn:active {
          transform: translateY(1px) scale(.99);
      }

      .reader-btn.secondary {
          background: linear-gradient(145deg, #f1f3f5 0%, #ffffff 100%);
          color: #222;
          border: 1px solid var(--brand-gris-30, #e1e4e8);
      }

      .reader-indicator {
          min-width: 3ch;
          text-align: center;
          font-weight: 700;
          color: #333;
          padding: 0 .25rem;
      }

      /* El contenedor que escala la tipografía */
      .reader {
          /* Escala tipográfica controlada por variable */
          font-size: var(--reader-font, 1rem);
          line-height: 1.65;
      }

      .reader .section-block h2 {
          font-size: clamp(1.2rem, 1.1rem + .2vw, 1.4rem);
      }