html { direction: ltr; }
  html[dir="rtl"] body { direction: rtl; }

    :root{
      --bg:#000;
      --fg:rgba(255,255,255,.94);
      --muted:rgba(255,255,255,.62);
      --hair:rgba(255,255,255,.12);
      --glass:rgba(0,0,0,.78);

      --px:clamp(12px, 2vw, 18px);
      --py:10px;

      --brand-size:clamp(18px, 1.8vw, 22px);
      --brand-track:0.22em;

      --nav-size:clamp(12px, 1.15vw, 12.5px);
      --nav-track:0.12em;

      --copy-size:clamp(6.5px, 1.1vw, 7px);
      --copy-track:0.06em;

      --radius:14px;
      --blur:10px;

      --menu-bg: rgba(0,0,0,.86);
      --menu-border: rgba(255,255,255,.14);
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }

    body{
      margin:0;
      background:var(--bg);
      color:var(--fg);
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
                   "Liberation Mono", "Courier New", monospace;
      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
      font-weight:400;
    }

    .page{
      min-height:100%;
      display:grid;
      grid-template-rows:auto 1fr auto;
      isolation:isolate;
    }

    .page::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.045;
      background-image:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,.07), transparent 46%),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,.05), transparent 44%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.025), rgba(255,255,255,.025) 1px, transparent 1px, transparent 3px);
      mix-blend-mode:screen;
      z-index:-1;
    }

    header, footer{
      background:var(--glass);
      backdrop-filter: blur(var(--blur));
      -webkit-backdrop-filter: blur(var(--blur));
      overflow: visible;
    }

    /* La cabecera no puede llevar backdrop-filter: cualquier valor
       distinto de none la convierte en bloque contenedor de sus
       descendientes position:fixed, y el panel de idiomas de movil
       queda anclado al borde inferior de la cabecera en vez de al de
       la pantalla. Sobre fondo negro al 78% el desenfoque no se
       aprecia, asi que no se pierde nada. */
    header{
      position:relative;
      z-index:50;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }


    header{
      padding: var(--py) var(--px);
      border-bottom: 1px solid var(--hair);
    }

    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }


    a.brand{
      text-decoration:none;
      color:inherit;
      display:inline-block;
      transition: opacity 200ms ease;
    }
    a.brand:hover{ opacity:.82; }
    a.brand:focus-visible{
      outline:1px solid rgba(255,255,255,.65);
      outline-offset:4px;
      border-radius:2px;
    }

    .brand{
      font-size: var(--brand-size);
      font-weight: 800;
      letter-spacing: var(--brand-track);
      text-transform: uppercase;
      white-space: nowrap;
      line-height: 1;
      color:#fff;
      opacity:1;
      text-shadow:none;
      mix-blend-mode:difference;
    }

    nav{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
    }


    .navlink{
      color:#fff;
      text-decoration:none;
      font-size:var(--nav-size);
      font-weight:700;
      letter-spacing:var(--nav-track);
      text-transform:uppercase;
      padding:5px 2px;
      position:relative;
    }
    .navlink:hover{ color:#fff; }
    .navlink::after{
      content:"";
      position:absolute;
      left:0; right:0; bottom:0;
      height:1px;
      background:rgba(255,255,255,.22);
      transform:scaleX(0);
      transform-origin:left;
      transition:transform 150ms ease;
    }
    .navlink:hover::after{ transform:scaleX(1); }

    .verticals{
      position:relative;
      display:inline-flex;
      align-items:center;
      cursor:pointer;
    }
    .verticals > span{ pointer-events:none; }

    .verticals-menu{
      position:absolute;
      top:100%;
      left:0;
      margin-top:10px;

      display:flex;
      flex-direction:column;
      gap:10px;

      padding:0;
      padding-top:2px;
      border:0;
      background:transparent;
      border-radius:0;

      opacity:0;
      pointer-events:none;
      transform: translateY(6px);
      transition: opacity 160ms ease, transform 160ms ease;

      white-space:nowrap;
      z-index:50;
    }

    .verticals-menu .v-item:first-child{ margin-top:2px; }

    .verticals.is-open .verticals-menu{
      opacity:1;
      pointer-events:auto;
      transform: translateY(0);
    }

    .v-item{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      text-decoration:none;
      padding:2px 0;
    }

    .v-main{
      color:rgba(255,255,255,.92);
      font-size:12px;
      font-weight:400;
      letter-spacing:.14em;
      text-transform:uppercase;
      line-height:1.05;
    }

    .v-sub{
      margin-top:3px;
      color:rgba(255,255,255,.55);
      font-size:10px;
      font-weight:400;
      letter-spacing:.18em;
      text-transform:uppercase;
      line-height:1.05;
    }

    .v-item:hover .v-main{ color:#fff; }
    .v-item:hover .v-sub{ color:rgba(255,255,255,.72); }

    .lang-switch{
      position:relative;
      display:flex;
      align-items:center;
    }

    .lang-trigger{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:28px;
      height:28px;
      background:none;
      border:0;
      cursor:pointer;
      padding:0;
      color:#fff;
      line-height:1;
      border-radius:10px;
      -webkit-user-select:none;
      user-select:none;
    }
    .lang-trigger:hover{ background: rgba(255,255,255,.06); }
    .lang-trigger:focus{ outline:none; }
    .globe{ width:18px; height:18px; display:block; }

    .lang-rail{
      --rail-shift: 0px;

      position:absolute;
      right: calc(100% + 10px);
      top: 50%;
      transform: translateY(-50%) translateX(var(--rail-shift));

      display:flex;
      align-items:center;
      gap:8px;

      padding:6px 8px;
      border:1px solid var(--menu-border);
      background: var(--menu-bg);
      border-radius: 999px;

      max-width: min(780px, calc(100vw - (2 * var(--px)) - 80px));
      overflow-x: auto;
      overflow-y: hidden;
      white-space: nowrap;

      direction:ltr;
      unicode-bidi:isolate;

      opacity:0;
      pointer-events:none;

      filter: drop-shadow(0 10px 24px rgba(0,0,0,.45));
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);

      transition: opacity 0.4s ease, transform 0.2s ease;

      touch-action: pan-x;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
    }

    .lang-rail::-webkit-scrollbar{ height:0; }
    .lang-rail{ scrollbar-width:none; -ms-overflow-style:none; }

    .lang-switch.is-open .lang-rail{
      opacity:1;
      pointer-events:auto;
    }

    .lang-switch.open-right .lang-rail{
      right:auto;
      left: calc(100% + 10px);
    }

    .tools-switch{
      position:relative;
      display:flex;
      align-items:center;
    }
    .tools-trigger{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:28px;
      height:28px;
      background:none;
      border:0;
      cursor:pointer;
      padding:0;
      color:#fff;
      line-height:1;
      border-radius:10px;
      -webkit-user-select:none;
      user-select:none;
    }
    .tools-trigger:hover{ background: rgba(255,255,255,.06); }
    .tools-trigger:focus{ outline:none; }
    .tools-icon{ width:18px; height:18px; display:block; }

    .tools-rail{
      --rail-shift: 0px;
      position:absolute;
      right: calc(100% + 10px);
      top: 50%;
      transform: translateY(-50%) translateX(var(--rail-shift));

      display:flex;
      align-items:center;
      gap:8px;

      padding:6px 8px;
      border:1px solid var(--menu-border);
      background: var(--menu-bg);
      border-radius: 999px;

      max-width: min(920px, calc(100vw - (2 * var(--px)) - 120px));
      overflow-x: auto;
      overflow-y: hidden;
      white-space: nowrap;

      direction:ltr;
      unicode-bidi:isolate;

      opacity:0;
      pointer-events:none;

      filter: drop-shadow(0 10px 24px rgba(0,0,0,.45));
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);

      transition: opacity 0.4s ease, transform 0.2s ease;

      touch-action: pan-x;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
    }

    .tools-rail::-webkit-scrollbar{ height:0; }
    .tools-rail{ scrollbar-width:none; -ms-overflow-style:none; }

    .tools-switch.is-open .tools-rail{
      opacity:1;
      pointer-events:auto;
    }

    .tools-switch.open-right .tools-rail{
      right:auto;
      left: calc(100% + 10px);
    }

    [dir="rtl"] .tools-switch.open-right .tools-rail{
      left:auto;
      right: calc(100% + 10px);
    }

    .tool-pill{
      min-width:34px;
      font-weight:600;

      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;

      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.30);
      color: rgba(255,255,255,.86);

      height:26px;
      padding: 0 10px;
      border-radius: 999px;

      font-size: 11px;
      font-weight: 400;
      letter-spacing: .12em;
      text-transform: uppercase;

      cursor:pointer;
      user-select:none;

      transform: translateX(10px);
      opacity: 0;
      transition: transform 220ms ease, opacity 220ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
      -webkit-tap-highlight-color: transparent;
    }

    .tool-pill.tool-icon{
      min-width:34px;
      padding: 0 8px;
    }
    .tool-pill .dl-ico{
      width: 16px;
      height: 16px;
      display:block;
      transform: translateY(0);
      transition: transform 220ms cubic-bezier(.2,.8,.2,1), opacity 220ms cubic-bezier(.2,.8,.2,1);
      opacity: .92;
    }
    .tool-pill:hover .dl-ico{
      transform: translateY(2px);
      opacity: 1;
    }
    .tool-pill:active .dl-ico{
      transform: translateY(3px);
    }

    @media (max-width: 768px){
      .tool-pill.tool-icon{ min-width:40px; padding: 0 10px; }
      .tool-pill .dl-ico{ width: 18px; height: 18px; }
    }

    .tools-switch.is-open .tool-pill{
      min-width:34px;
      font-weight:600;

      transform: translateX(0);
      opacity: 1;
    }

    .tools-switch.is-open .tool-pill:nth-child(1)  { transition-delay:  0ms; }
    .tools-switch.is-open .tool-pill:nth-child(2)  { transition-delay: 18ms; }
    .tools-switch.is-open .tool-pill:nth-child(3)  { transition-delay: 36ms; }
    .tools-switch.is-open .tool-pill:nth-child(4)  { transition-delay: 54ms; }
    .tools-switch.is-open .tool-pill:nth-child(5)  { transition-delay: 72ms; }
    .tools-switch.is-open .tool-pill:nth-child(6)  { transition-delay: 90ms; }
    .tools-switch.is-open .tool-pill:nth-child(7)  { transition-delay:108ms; }
    .tools-switch.is-open .tool-pill:nth-child(8)  { transition-delay:126ms; }
    .tools-switch.is-open .tool-pill:nth-child(9)  { transition-delay:144ms; }
    .tools-switch.is-open .tool-pill:nth-child(10) { transition-delay:162ms; }
    .tools-switch.is-open .tool-pill:nth-child(11) { transition-delay:180ms; }

    .tool-pill:hover{
      color:#fff;
      border-color: rgba(255,255,255,.22);
      background: rgba(255,255,255,.06);
    }

    .tool-pill::after{
      content: attr(data-label);
      position:absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);

      background: rgba(0,0,0,.90);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 10px;
      padding: 6px 8px;

      font-size: 10px;
      font-weight: 400;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: rgba(255,255,255,.92);

      opacity:0;
      pointer-events:none;
      white-space: nowrap;

      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .tool-pill:hover::after{ opacity:1; }

    @media (max-width: 640px){
      .tools-rail{
        right:auto;
        left:0;
        top:100%;
        transform: translateY(10px) translateX(var(--rail-shift));
        max-width: min(92vw, 520px);
      }
      [dir="rtl"] .tools-rail{ left:auto; right:0; }
    }

    [dir="rtl"] .lang-switch.open-right .lang-rail{
      left:auto;
      right: calc(100% + 10px);
    }

    .lang-pill{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;

      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.30);
      color: rgba(255,255,255,.86);

      height:26px;
      padding: 0 10px;
      border-radius: 999px;

      font-size: clamp(12px, 1.2vw, 14px);
      font-weight: 400;
      letter-spacing: .12em;
      text-transform: uppercase;

      cursor:pointer;
      user-select:none;

      transform: translateX(10px);
      opacity: 0;
      transition: transform 220ms ease, opacity 220ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
      -webkit-tap-highlight-color: transparent;
    }

    .lang-pill:focus{ outline:none; }
    .lang-pill[hidden]{ display:none !important; }

    .lang-switch.is-open .lang-pill{
      transform: translateX(0);
      opacity: 1;
    }

    .lang-switch.is-open .lang-pill:nth-child(1)  { transition-delay:  0ms; }
    .lang-switch.is-open .lang-pill:nth-child(2)  { transition-delay: 18ms; }
    .lang-switch.is-open .lang-pill:nth-child(3)  { transition-delay: 36ms; }
    .lang-switch.is-open .lang-pill:nth-child(4)  { transition-delay: 54ms; }
    .lang-switch.is-open .lang-pill:nth-child(5)  { transition-delay: 72ms; }
    .lang-switch.is-open .lang-pill:nth-child(6)  { transition-delay: 90ms; }
    .lang-switch.is-open .lang-pill:nth-child(7)  { transition-delay:108ms; }
    .lang-switch.is-open .lang-pill:nth-child(8)  { transition-delay:126ms; }
    .lang-switch.is-open .lang-pill:nth-child(9)  { transition-delay:144ms; }

    .lang-pill:hover{
      color:#fff;
      border-color: rgba(255,255,255,.22);
      background: rgba(255,255,255,.06);
    }

    .lang-pill::after{
      content: attr(data-label);
      position:absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);

      background: rgba(0,0,0,.90);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 10px;
      padding: 6px 8px;

      font-size: 10px;
      font-weight: 400;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: rgba(255,255,255,.92);

      opacity:0;
      pointer-events:none;
      white-space: nowrap;

      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .lang-pill:hover::after{ opacity:1; }

    main{
      display:grid;
      place-items:center;
      padding:22px var(--px);
    }

    .card{
      width:min(720px,100%);
      border:1px solid rgba(255,255,255,.12);
      border-radius:var(--radius);
      background:rgba(0,0,0,.55);
      padding:clamp(16px,2.5vw,24px);
      font-weight:400;
      text-align:left;
    }

    .card{
      width: min(1040px, 100%);
      border:1px solid rgba(255,255,255,.14);
      background:
        radial-gradient(1200px 600px at 20% 10%, rgba(255,255,255,.06), transparent 55%),
        radial-gradient(900px 500px at 80% 20%, rgba(255,255,255,.045), transparent 60%),
        rgba(0,0,0,.56);
      box-shadow:
        0 18px 60px rgba(0,0,0,.55),
        inset 0 1px 0 rgba(255,255,255,.06);
    }

    .legal-head, .legal-body{
      white-space: pre-wrap;
    }
    .legal-sep{
      height:1px;
      margin: 14px 0 16px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
      opacity:.9;
    }

    .legalcopy[data-i18n="card.terms"]{ visibility:hidden; }
    html.i18n-ready .legalcopy[data-i18n="card.terms"]{ visibility:visible; }

    .legalcopy.mx-legal-fadein{
      animation: mxLegalIn 680ms cubic-bezier(.2,.8,.2,1) both;
      will-change: opacity, transform, filter;
    }
    @keyframes mxLegalIn{
      from{ opacity:0; transform: translateY(10px); filter: blur(3px); }
      to  { opacity:1; transform: translateY(0);  filter: blur(0); }
    }
    .legalcopy.mx-legal-fadein .legal-sep{
      animation: mxSepIn 900ms cubic-bezier(.2,.8,.2,1) both;
      transform-origin: center;
    }
    @keyframes mxSepIn{
      from{ opacity:0; transform: scaleX(.75); filter: blur(1.5px); }
      to  { opacity:.9; transform: scaleX(1);   filter: blur(0); }
    }

    .audio-fab{
      position: fixed;
      right: 14px;
      bottom: 14px;
      z-index: 9999;
      width: 52px;
      height: 52px;
      padding: 0;
      border-radius: 999px;
      display: none;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.42);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      color: rgba(255,255,255,.92);
      box-shadow: 0 12px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
      -webkit-tap-highlight-color: transparent;
    }
    .audio-fab svg{ width: 22px; height: 22px; display:block; }
    body.mx-audio-playing .audio-fab .icon-play{ display:none; }
    body:not(.mx-audio-playing) .audio-fab .icon-pause{ display:none; }

    @media (max-width: 640px){
      .audio-fab{ display:flex; }
    }

    .footer-links{ opacity:.88; }
    .copyright{ opacity:.78; }

    .legalcopy{
      margin:0;
      font-size: clamp(11.5px, 1.15vw, 13.5px);
      line-height: 1.62;
      color: rgba(255,255,255,.90);
      letter-spacing: .012em;
    }

    .reader-bar{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:10px;
      margin-bottom: 10px;
    }
    .reader-btn{
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.04);
      color: rgba(255,255,255,.88);
      border-radius: 999px;
      padding: 8px 12px;
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      cursor:pointer;
      line-height:1;
      -webkit-tap-highlight-color: transparent;
    }
    .reader-btn:hover{
      border-color: rgba(255,255,255,.22);
      background: rgba(255,255,255,.07);
      color:#fff;
    }
    body.mx-immersive main{
      padding-top: 28px;
      place-items: start center;
    }
    body.mx-immersive .card{
      width: min(1100px, 100%);
      background:
        radial-gradient(1200px 700px at 50% 0%, rgba(255,255,255,.07), transparent 55%),
        rgba(0,0,0,.48);
    }
    body.mx-immersive .legalcopy{
      font-size: clamp(13px, 1.25vw, 15px);
      line-height: 1.78;
      color: rgba(255,255,255,.92);
      letter-spacing: .015em;
    }

    main{
      padding: clamp(16px, 2.6vw, 26px) var(--px);
    }
    .card{
      width: min(1100px, calc(100vw - (2 * var(--px))));
      padding: clamp(14px, 2.4vw, 26px);
    }
    @media (max-width: 900px){
      .card{ width: min(980px, calc(100vw - (2 * var(--px)))); }
    }
    @media (max-width: 640px){
      .card{
        width: calc(100vw - (2 * var(--px)));
        border-radius: 16px;
      }
      .reader-bar{ justify-content:space-between; }
    }

    :root{
      --a11y-font-scale: 1;
      --a11y-contrast: 0;
    }

        body.mx-a11y-readable{
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Helvetica Neue", Helvetica, sans-serif;

      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
      text-rendering: optimizeLegibility;
    }
    body.mx-a11y-readable .legalcopy{
      font-family: inherit;
      letter-spacing: .005em;
    }

    body.mx-a11y-underline a{
      text-decoration: underline !important;
      text-decoration-thickness: 1.5px;
      text-underline-offset: 3px;
    }

    .legalcopy{
      font-size: calc(clamp(11.5px, 1.15vw, 13.5px) * var(--a11y-font-scale));
    }
    body.mx-immersive .legalcopy{
      font-size: calc(clamp(13px, 1.25vw, 15px) * var(--a11y-font-scale));
    }

body.mx-immersive header, body.mx-immersive footer{
      opacity: .92;
    }

    .legalcopy{
      white-space: pre-wrap;
      margin: 0;
      font-size: clamp(11px, 1.15vw, 13px);
      line-height: 1.55;
      color: rgba(255,255,255,.90);
      letter-spacing: .01em;
    }
footer{
      padding:10px var(--px) 12px;
      border-top:1px solid var(--hair);
    }

    .footer-inner{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:6px;
    }

    .footer-links{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      font-size:10.5px;
      font-weight:400;
      letter-spacing:.16em;
      text-transform:uppercase;
      opacity:.75;
      align-items:center;
    }

    .footer-links a{
      color:rgba(255,255,255,.85);
      text-decoration:none;
    }
    .footer-links a:hover{ color:#fff; }

    .copyright a{
      color:inherit;
      text-decoration:none;
      border-bottom:1px solid rgba(255,255,255,.18);
      padding-bottom:1px;
      transition: border-color 200ms ease, opacity 200ms ease;
    }
    .copyright a:hover{ border-bottom-color: rgba(255,255,255,.55); }
    .copyright a:focus-visible{
      outline:1px solid rgba(255,255,255,.65);
      outline-offset:3px;
      border-bottom-color:transparent;
    }

    .copyright{
      font-size:var(--copy-size);
      letter-spacing:var(--copy-track);
      opacity:.58;
      text-align:center;
      line-height:1.3;
      font-weight:400;
    }

    .cookie-gear{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:22px;
      height:22px;
      margin-left:6px;
      border-radius:8px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.25);
      cursor:pointer;
      position:relative;
      vertical-align:middle;
    }
    .cookie-gear:hover{
      border-color: rgba(255,255,255,.20);
      background: rgba(255,255,255,.05);
    }
    .cookie-gear svg{
      width:14px;
      height:14px;
      display:block;
      color: rgba(255,255,255,.88);
    }
    .cookie-gear::after{
      content: attr(data-tip);
      position:absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0,0,0,.90);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 10px;
      padding: 6px 8px;
      font-size: 10px;
      font-weight: 400;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: rgba(255,255,255,.92);
      opacity:0;
      pointer-events:none;
      white-space: nowrap;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .cookie-gear:hover::after{ opacity:1; }

    /* Legal pages use the same stable language paint as the public site. */
    html:not(.mx-ui-ready) #mx-header nav{ visibility:hidden; }
    html:not(.mx-i18n-ready) [data-i18n]{ visibility:hidden; }
    .legalcopy.mx-legal-fadein{ animation:none; }

    [dir="rtl"] .topbar{ flex-direction:row-reverse; }
    [dir="rtl"] nav{ flex-direction:row-reverse; }
    [dir="rtl"] .navlink::after{ transform-origin:right; }
    [dir="rtl"] .footer-links{ flex-direction:row-reverse; }

    [dir="rtl"] .verticals-menu{
      left:auto;
      right:0;
      align-items:flex-end;
      text-align:right;
    }
    [dir="rtl"] .v-item{ align-items:flex-end; }

    @media (max-width: 640px){
      .topbar{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
      }
      nav{ width:100%; gap:10px; }

      .lang-switch::before{
        content:"";
        position:fixed;
        inset:0;
        background:rgba(0,0,0,.55);
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
        opacity:0;
        pointer-events:none;
        transition:opacity 220ms ease;
        z-index:9997;
      }
      .lang-switch.is-open::before{
        opacity:1;
        pointer-events:auto;
      }

      .lang-rail{
        position:fixed;
        inset:auto 0 0 0;
        margin:0;
        transform:translateY(100%);

        display:grid;
        grid-template-columns:repeat(2, 1fr);
        gap:10px;

        max-width:none;
        width:100%;
        padding:20px 16px calc(20px + env(safe-area-inset-bottom));
        border-radius:20px 20px 0 0;
        border-width:1px 0 0 0;

        overflow:visible;
        white-space:normal;
        scroll-snap-type:none;
        -webkit-mask-image:none;
        mask-image:none;

        transition:transform 320ms cubic-bezier(.32,.72,0,1), opacity 220ms ease;
        z-index:9998;
      }

      .lang-switch.is-open .lang-rail{
        transform:translateY(0);
      }

      [dir="rtl"] .lang-rail{ left:0; right:0; }

      .lang-pill{
        height:64px;
        transform:none;
        opacity:1;
        transition-delay:0ms !important;
        flex-direction:column;
        justify-content:center;
        gap:3px;
        padding:0 12px;
        overflow:hidden;
        position:relative;
      }

      .lang-switch.is-open .lang-pill{ transform:none; }

      .lang-pill::before{
        content:"";
        position:absolute;
        inset:0;
        background:radial-gradient(120px 60px at 50% 0%, rgba(255,255,255,.14), transparent 70%);
        opacity:0;
        transition:opacity 260ms ease;
        pointer-events:none;
      }

      .lang-switch.is-open .lang-pill:active::before{ opacity:1; }

      .lang-switch.is-open .lang-pill:active{
        transform:scale(0.95) !important;
        background:rgba(255,255,255,.09);
        border-color:rgba(255,255,255,.24);
      }

      .lang-pill-code{
        font-size:14px;
        font-weight:700;
        letter-spacing:.14em;
      }

      .lang-pill::after{
        content: attr(data-label);
        position:static;
        transform:none;
        display:block;
        background:none;
        border:0;
        padding:0;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        opacity:.55;
        pointer-events:none;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        max-width:100%;
        font-size:9.5px;
        letter-spacing:.04em;
        text-transform:none;
        color:rgba(255,255,255,.72);
      }

      body.mx-sheet-open{ overflow:hidden; touch-action:none; }
    }

    html[dir="rtl"], body{ overflow-x: hidden; }
    [dir="rtl"] .page{ overflow-x: clip; }

    body.mx-consent-locked{
      overflow:hidden;
      touch-action:none;
    }

    body.mx-consent-locked #app-root{
      pointer-events:none;
      user-select:none;
      -webkit-user-select:none;
    }

    .mx-cmp{
      position:fixed;
      inset:0;
      z-index:9999;
      display:none;
      align-items:center;
      justify-content:center;
      padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right))
               max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
      background: rgba(0,0,0,.78);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .mx-cmp.is-open{ display:flex; }

    .mx-cmp.is-banner::before{
      content:"";
      position:fixed;
      left:0;
      right:0;
      bottom:0;
      top: var(--mx-hdr-h, 64px);
      background: rgba(0,0,0,.28);
      backdrop-filter: blur(2px);
      -webkit-backdrop-filter: blur(2px);
      pointer-events:none;
    }

    /* Keep the MICRORETAILX mark clear; treat all navigation as one inactive
       surface while a consent choice is pending. */
    body.mx-cmp-open #mx-header nav{
      opacity:.32 !important;
      filter:blur(1px) !important;
      pointer-events:none !important;
      user-select:none !important;
      transition:none !important;
      animation:none !important;
      transform:none !important;
    }
    body.mx-cmp-open #mx-header nav *{
      transition:none !important;
      animation:none !important;
      transform:none !important;
    }

    .lang-pill.is-active{
      border-color: rgba(255,255,255,.42);
      background: rgba(255,255,255,.10);
      color:#fff;
    }

    .lang-pill.is-active.mx-hint{
      animation: mxPillPulse 700ms ease-in-out 2;
    }
    @keyframes mxPillPulse{
      0%, 100%{
        transform: translateX(0) scale(1);
        border-color: rgba(255,255,255,.42);
        background: rgba(255,255,255,.10);
        box-shadow: 0 0 0 rgba(255,255,255,0);
      }
      50%{
        transform: translateX(0) scale(1.10);
        border-color: rgba(255,255,255,.85);
        background: rgba(255,255,255,.20);
        box-shadow: 0 0 14px rgba(255,255,255,.28);
      }
    }
    @media (prefers-reduced-motion: reduce){
      .lang-pill.is-active.mx-hint{ animation:none; }
    }

    /* No automatic globe pulse while the CMP is visible. */

    .mx-cmp.is-banner{
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      pointer-events:none;
    }
    .mx-cmp.is-banner .mx-cmp-panel{
      pointer-events:auto;
      animation: mxCmpIn 420ms cubic-bezier(.22,1,.36,1) both;
    }
    @keyframes mxCmpIn{
      from{ opacity:0; transform: translateY(8px) scale(.985); }
      to  { opacity:1; transform: translateY(0) scale(1); }
    }
    @media (prefers-reduced-motion: reduce){
      .mx-cmp.is-banner .mx-cmp-panel{ animation:none; }
    }

    .mx-cmp-row.is-empty{ opacity:.72; }
    .mx-cmp-empty-note{
      display:block;
      margin-top:3px;
      font-size:10px;
      letter-spacing:.10em;
      text-transform:uppercase;
      color: rgba(255,255,255,.42);
    }

    .mx-cmp-panel{
      width:min(560px, 100%);
      border:1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      background: rgba(0,0,0,.88);
      box-shadow: 0 18px 60px rgba(0,0,0,.55);
      overflow:hidden;
    }

    .mx-cmp-head{
      padding: 14px 16px;
      border-bottom:1px solid rgba(255,255,255,.10);
    }

    .mx-cmp-title{
      margin:0;
      font-size:12px;
      letter-spacing:.18em;
      text-transform:uppercase;
      opacity:.92;
      line-height:1.25;
    }

    .mx-cmp-sub{
      margin:10px 0 0;
      font-size:11px;
      letter-spacing:.02em;
      line-height:1.35;
      color:rgba(255,255,255,.70);
    }

    .mx-cmp-body{
      padding: 12px 16px 14px;
      display:grid;
      gap:10px;
    }

    .mx-cmp-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding: 10px 12px;
      border:1px solid rgba(255,255,255,.10);
      border-radius: 14px;
      background: rgba(255,255,255,.03);
    }

    .mx-cmp-row strong{
      display:block;
      font-size:11px;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:rgba(255,255,255,.90);
    }

    .mx-cmp-row p{
      margin:6px 0 0;
      font-size:11px;
      color:rgba(255,255,255,.65);
      line-height:1.35;
    }

    .mx-switch{
      width:44px;
      height:24px;
      border-radius: 999px;
      border:1px solid rgba(255,255,255,.16);
      background: rgba(0,0,0,.35);
      position:relative;
      cursor:pointer;
      flex:0 0 auto;
      padding:0;
    }

    .mx-switch::after{
      content:"";
      position:absolute;
      top:50%;
      left:3px;
      width:18px;
      height:18px;
      transform: translateY(-50%);
      border-radius: 999px;
      background: rgba(255,255,255,.78);
      transition: left 150ms ease, opacity 150ms ease;
      opacity:.92;
    }

    .mx-switch[data-on="1"]{
      background: rgba(255,255,255,.08);
      border-color: rgba(255,255,255,.22);
    }

    .mx-switch[data-on="1"]::after{ left:23px; }

    .mx-switch[aria-disabled="true"]{
      cursor:not-allowed;
      opacity:.55;
    }

    .mx-cmp-actions{
      display:flex;
      gap:10px;
      justify-content:flex-end;
      padding: 12px 16px 14px;
      border-top:1px solid rgba(255,255,255,.10);
      flex-wrap:wrap;
    }

    .mx-btn{
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.04);
      color: rgba(255,255,255,.88);
      border-radius: 999px;
      padding: 10px 14px;
      font-size: clamp(12px, 1.2vw, 14px);
      letter-spacing:.16em;
      text-transform:uppercase;
      cursor:pointer;
      line-height:1;
      -webkit-tap-highlight-color: transparent;
    }

    .mx-btn:hover{
      border-color: rgba(255,255,255,.22);
      background: rgba(255,255,255,.07);
      color:#fff;
    }

    .mx-btn.primary{
      background: rgba(255,255,255,.10);
      border-color: rgba(255,255,255,.22);
    }

    .mx-btn.primary:hover{
      background: rgba(255,255,255,.14);
      border-color: rgba(255,255,255,.28);
    }

    @media (max-width: 560px){
      .mx-cmp-actions{ justify-content:stretch; }
      .mx-btn{ flex:1 1 auto; text-align:center; }
      .mx-cmp-row{ flex-direction:column; align-items:flex-start; }
    }

    .tool-audio .icon-pause{ display:none; }
    body.mx-audio-playing .tool-audio .icon-play{ display:none; }
    body.mx-audio-playing .tool-audio .icon-pause{ display:inline; }

  .legalcopy[dir="rtl"]{
    direction: rtl;
    text-align: right;
    unicode-bidi: plaintext;
  }
  .legalcopy[dir="rtl"] .legal-head,
  .legalcopy[dir="rtl"] .legal-body{
    unicode-bidi: plaintext;
  }

  @media print {
    @page { margin: 12mm; }
    html, body { background: #fff !important; color: #000 !important; }
    body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

    .tools-rail, .mx-float-scroll, .lang-rail, .audio-btn, #downloadPdf, #lang-switch, #lang-rail {
      display: none !important;
    }

    .card, .sheet, main, #app-root {
      background: #fff !important;
      color: #000 !important;
      box-shadow: none !important;
      border-color: #ddd !important;
      filter: none !important;
    }
    .legalcopy, .legalcopy * {
      color: #000 !important;
      text-shadow: none !important;
      filter: none !important;
    }
    a { color: #000 !important; text-decoration: underline !important; }
  }

    @media print{
      header, footer, .lang-switch, .tools-switch, .reader-bar, .mx-cmp{ display:none !important; }
      body{ background:#fff !important; color:#000 !important; }
      .page::before{ display:none !important; }
      main{ padding: 0 !important; }
      .card{
        width: 100% !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
      }
      .legalcopy{ color:#000 !important; font-size: 12pt !important; line-height: 1.5 !important; }
      .legal-sep{ background: #000 !important; opacity: .2 !important; }
    }
  

  .mx-float-scroll{
    position: fixed;
    right: 14px;
    bottom: 14px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 180ms ease, transform 180ms ease;
  }
  .mx-float-scroll.is-visible{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .mx-float-btn{
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(0,0,0,.38);
    color: rgba(255,255,255,.92);
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 14px 40px rgba(0,0,0,.45);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    -webkit-tap-highlight-color: transparent;
  }
  .mx-float-btn:hover{
    border-color: rgba(255,255,255,.26);
    background: rgba(255,255,255,.06);
    color: #fff;
  }
  @media (max-width: 640px){
    .mx-float-scroll{ right: 10px; bottom: 10px; }
    .mx-float-btn{ width: 46px; height: 46px; border-radius: 16px; }
  }
  body.mx-a11y-lightbg .mx-float-btn{
    border-color: rgba(0,0,0,.16);
    background: rgba(255,255,255,.72);
    color: rgba(0,0,0,.85);
    box-shadow: 0 14px 40px rgba(0,0,0,.18);
  }
  body.mx-a11y-lightbg .mx-float-btn:hover{
    border-color: rgba(0,0,0,.24);
    background: rgba(255,255,255,.90);
    color: #000;
  }

  .mx-float-btn svg{ width:22px; height:22px; display:block; }
  @media (max-width: 768px){
    .mx-float-scroll{ right: 12px; bottom: 12px; }
    .mx-float-btn{ width:56px; height:56px; }
    .mx-float-btn svg{ width:24px; height:24px; }
  }

  #audioBtn + .mx-float-scroll, .audio-btn ~ .mx-float-scroll{ bottom: 78px; }

  :root{ --a11y-font-scale: 1; }
  .legalcopy{ font-size: calc(clamp(11.5px, 1.15vw, 13.5px) * var(--a11y-font-scale)) !important; }
  body.mx-immersive .legalcopy{ font-size: calc(clamp(13px, 1.25vw, 15px) * var(--a11y-font-scale)) !important; }
  body.mx-a11y-lightbg .card{
    background:
      radial-gradient(1200px 700px at 50% 0%, rgba(0,0,0,.035), transparent 55%),
      rgba(255,255,255,.94) !important;
    border-color: rgba(0,0,0,.14) !important;
    box-shadow: 0 18px 60px rgba(0,0,0,.12);
  }
  body.mx-a11y-lightbg .legalcopy{ color: rgba(0,0,0,.88) !important; }
  body.mx-a11y-lightbg .legal-sep{ background: linear-gradient(90deg, transparent, rgba(0,0,0,.18), transparent) !important; }

  body.mx-a11y-lightbg{
    background: inherit !important;
    color: inherit !important;
  }  body.mx-a11y-lightbg .card{
    background:
      radial-gradient(1200px 700px at 50% 0%, rgba(0,0,0,.035), transparent 55%),
      rgba(255,255,255,.96) !important;
    border-color: rgba(0,0,0,.14) !important;
    box-shadow: 0 18px 60px rgba(0,0,0,.12);
  }
  body.mx-a11y-lightbg .legalcopy{
    color: rgba(0,0,0,.88) !important;
  }
  body.mx-a11y-lightbg .legal-sep{
    background: linear-gradient(90deg, transparent, rgba(0,0,0,.18), transparent) !important;
  }

  body.mx-a11y-lightbg header,
  body.mx-a11y-lightbg footer{
    background: rgba(0,0,0,.55) !important;
    border-color: rgba(255,255,255,.12) !important;
  }
  body.mx-a11y-lightbg .navlink{
    color: rgba(255,255,255,.80) !important;
  }
  body.mx-a11y-lightbg .navlink:hover{
    color: #fff !important;
  }

  .mx-float-scroll{
    z-index: 2147483000 !important;
    pointer-events: auto !important;
  }

body.mx-a11y-high-contrast {
  background:#000 !important;
}
body.mx-a11y-high-contrast .card{
  background:#000 !important;
  border-color:#fff !important;
}
body.mx-a11y-high-contrast .legalcopy{
  color:#fff !important;
}

  @media print {
    body, .page, .card {
      background: #fff !important;
      color: #000 !important;
      box-shadow: none !important;
      border: none !important;
    }
    .tools-switch, .lang-switch, .mx-float-scroll, .topbar, .audio-fab,
    .tools-rail, .lang-rail, .audio-btn, #downloadPdf, #lang-switch, #lang-rail {
      display: none !important;
    }
    a { text-decoration: underline !important; color: #000 !important; }
  }
    @media (max-width: 430px){
      :root{
        --px:clamp(14px, 4vw, 18px);
        --brand-size:clamp(20px, 6.2vw, 24px);
        --brand-track:.20em;
        --nav-size:clamp(11px, 3.45vw, 13px);
        --nav-track:.14em;
      }

      header{
        padding-top:12px;
        padding-bottom:12px;
      }

      .brand{
        max-width:100%;
        letter-spacing:var(--brand-track);
        overflow:hidden;
        text-overflow:clip;
      }

      nav{
        column-gap:12px;
        row-gap:12px;
      }

      .navlink{
        font-size:var(--nav-size);
        letter-spacing:var(--nav-track);
        padding:4px 0;
      }

      .lang-trigger{
        width:24px;
        height:24px;
      }

      .globe{
        width:17px;
        height:17px;
      }

      .footer-links{
        gap:14px;
        font-size:11.5px;
        letter-spacing:.13em;
      }

      .copyright{
        font-size:8.5px;
        letter-spacing:.06em;
      }
    }

    @media (max-width: 430px){
      html[lang="ru"] .navlink{
        font-size:10.5px;
        letter-spacing:.105em;
      }

      html[lang="ru"] nav{
        column-gap:10px;
      }

      html[lang="ru"] .footer-links{
        font-size:10.4px;
        letter-spacing:.10em;
      }
    }

    @media (max-width: 380px){
      :root{
        --brand-size:clamp(18px, 6vw, 21px);
        --brand-track:.18em;
        --nav-size:10.4px;
        --nav-track:.105em;
      }

      nav{
        column-gap:9px;
        row-gap:10px;
      }

      html[lang="ru"] .navlink{
        font-size:9.8px;
        letter-spacing:.085em;
      }

      .footer-links{
        gap:11px;
        font-size:10.4px;
        letter-spacing:.09em;
      }
    }

    :root{
      --brand-size:clamp(18px, 1.8vw, 22px);
      --brand-track:0.22em;
      --nav-size:clamp(14px, 1.5vw, 17px);
      --nav-track:0.22em;
    }

    .topbar{
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
      mix-blend-mode:difference;
    }

    .brand{
      font-size: var(--brand-size);
      font-weight:800;
      letter-spacing: var(--brand-track);
      text-transform: uppercase;
      white-space: nowrap;
      line-height: 1;
      color:#fff;
      opacity:1;
      text-shadow:none;
      mix-blend-mode:difference;
    }

    .navlink{
      color:#fff;
      font-size:var(--nav-size);
      font-weight:700;
      letter-spacing:var(--nav-track);
      text-transform:uppercase;
    }
    .navlink:hover{ color:#fff; }

    @media (max-width: 430px){
      :root{
        --brand-size:clamp(20px, 6.2vw, 24px);
        --brand-track:.20em;
        --nav-size:clamp(11px, 3.45vw, 13px);
        --nav-track:.14em;
      }
      .brand{
        max-width:100%;
        letter-spacing:var(--brand-track);
        overflow:hidden;
        text-overflow:clip;
      }
      .navlink{
        font-size:var(--nav-size);
        letter-spacing:var(--nav-track);
        padding:4px 0;
      }
    }

    @media (max-width: 380px){
      :root{
        --brand-size:clamp(18px, 6vw, 21px);
        --brand-track:.18em;
        --nav-size:10.4px;
        --nav-track:.105em;
      }
    }

    /* --- Botones de desplazamiento -----------------------------------
       Antes eran dos cuadrados sueltos flotando. Ahora forman una sola
       capsula segmentada: menos elementos en pantalla, mas intencion de
       diseno, y el conjunto se lee como un control y no como dos parches. */
    .mx-float-scroll{
      gap:0 !important;
      padding:4px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.13);
      background: rgba(10,10,10,.62);
      backdrop-filter: blur(16px) saturate(130%);
      -webkit-backdrop-filter: blur(16px) saturate(130%);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 2px 10px rgba(0,0,0,.40),
        0 20px 50px rgba(0,0,0,.48);
      bottom: calc(14px + env(safe-area-inset-bottom)) !important;
      z-index: 9990 !important;
      transition:
        opacity 300ms cubic-bezier(.22,1,.36,1),
        transform 420ms cubic-bezier(.22,1,.36,1);
    }
    .mx-float-scroll:not(.is-visible){
      transform: translateY(14px) scale(.94);
    }
    .mx-float-scroll.is-visible{
      transform: translateY(0) scale(1);
    }

    .mx-float-btn{
      width:42px;
      height:42px;
      border:0 !important;
      background:transparent !important;
      border-radius:999px;
      box-shadow:none !important;
      backdrop-filter:none !important;
      -webkit-backdrop-filter:none !important;
      color: rgba(255,255,255,.72);
      position:relative;
      transition:
        background 240ms ease,
        color 240ms ease,
        transform 180ms cubic-bezier(.22,1,.36,1);
    }
    .mx-float-btn:hover{
      background: rgba(255,255,255,.09) !important;
      color:#fff;
    }
    .mx-float-btn:active{
      transform: scale(.90);
      background: rgba(255,255,255,.15) !important;
    }
    .mx-float-btn:focus-visible{
      outline:1px solid rgba(255,255,255,.7);
      outline-offset:-3px;
    }

    /* Hairline divisor entre los dos, no un hueco */
    .mx-float-btn + .mx-float-btn::before{
      content:"";
      position:absolute;
      left:9px;
      right:9px;
      top:0;
      height:1px;
      background: rgba(255,255,255,.10);
    }

    .mx-float-btn svg{
      width:19px;
      height:19px;
      transition: transform 260ms cubic-bezier(.22,1,.36,1);
    }
    /* Cada flecha se insinua hacia su direccion al pasar por encima */
    #mx-scroll-top:hover svg{ transform: translateY(-2px); }
    #mx-scroll-bottom:hover svg{ transform: translateY(2px); }

    @media (prefers-reduced-motion: reduce){
      .mx-float-scroll,
      .mx-float-btn,
      .mx-float-btn svg{ transition:none; }
      .mx-float-scroll:not(.is-visible){ transform:none; }
    }

    /* --- Sin salto al reposicionar los raíles ------------------------
       placeRailSmart pone --rail-shift a 0, mide, y vuelve a ponerlo.
       Con transition en transform eso se ve como un desplazamiento y
       vuelta. Durante la medida se corta la transicion. */
    .lang-rail.is-measuring,
    .tools-rail.is-measuring{
      transition:none !important;
    }

    @media (max-width: 640px){
      /* --- Verticales como panel inferior ---------------------------
         En absoluto se superponia al texto legal. Mismo patron que el
         selector de idiomas: velo, panel acoplado abajo y area segura. */
      .verticals::before{
        content:"";
        position:fixed;
        inset:0;
        background:rgba(0,0,0,.55);
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
        opacity:0;
        pointer-events:none;
        transition:opacity 220ms ease;
        z-index:9997;
      }
      .verticals.is-open::before{
        opacity:1;
        pointer-events:auto;
      }

      .verticals-menu,
      [dir="rtl"] .verticals-menu{
        position:fixed;
        inset:auto 0 0 0;
        left:0;
        right:0;
        margin:0;
        width:100%;
        max-width:none;

        display:flex;
        flex-direction:column;
        gap:2px;
        align-items:stretch;
        text-align:left;

        padding:14px 14px calc(14px + env(safe-area-inset-bottom));
        border:1px solid rgba(255,255,255,.13);
        border-width:1px 0 0 0;
        border-radius:20px 20px 0 0;
        background: rgba(10,10,10,.94);
        backdrop-filter: blur(16px) saturate(130%);
        -webkit-backdrop-filter: blur(16px) saturate(130%);
        box-shadow: 0 -18px 60px rgba(0,0,0,.55);

        opacity:1;
        transform: translateY(100%);
        transition: transform 320ms cubic-bezier(.32,.72,0,1);
        z-index:9998;
      }

      .verticals.is-open .verticals-menu{
        transform: translateY(0);
        pointer-events:auto;
      }

      .verticals-menu .v-item{
        min-height:60px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:2px;
        padding:0 14px;
        margin-top:0 !important;
        border-radius:14px;
        transition: background 200ms ease;
      }
      .verticals-menu .v-item:active{
        background: rgba(255,255,255,.09);
      }

      body.mx-sheet-open{ overflow:hidden; touch-action:none; }
    }

    @media (prefers-reduced-motion: reduce){
      .verticals-menu{ transition:none !important; }
    }

    /* Los SVG del lector no traian dimensiones: sin width/height un SVG
       en linea toma el tamano por defecto del elemento reemplazado y
       dentro de una pastilla de 26px de alto no se ve nada. */
    .tool-pill .icon-play,
    .tool-pill .icon-pause{
      width:16px;
      height:16px;
      display:block;
    }
    body.mx-audio-playing .tool-audio .icon-pause{
      display:block;
    }

    /* Mismo escalado que el icono de descarga: van en el mismo rail y
       a distinto tamano cantaria. */
    @media (max-width: 768px){
      .tool-pill .icon-play,
      .tool-pill .icon-pause{
        width:18px;
        height:18px;
      }
    }


/* ==========================================================
   CSP HARDENING
   ========================================================== */

.footer-cookie-wrap {
  display: inline-flex;
  align-items: center;
}
