:root {
      --fondo: #17131b;
      --fondo-profundo: #100d13;
      --panel: #211b27;
      --panel-2: #28212f;
      --borde: #3c3244;
      --texto: #f7f4f1;
      --suave: #bdb5c2;
      --violeta: #63398b;
      --naranja: #ef5a27;
      --amarillo: #f1b824;
      --rojo: #d94736;
      --verde: #25b965;
      --azul: #2f6fc4;
      --magenta: #b53b72;
      --radio: 22px;
      --sombra: 0 16px 36px rgba(0,0,0,.25);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      min-height: 100vh;
      overflow-x: hidden;
      background: var(--fondo);
      color: var(--texto);
      font-family: Arial, Helvetica, sans-serif;
    }
    a, button { -webkit-tap-highlight-color: transparent; }
    a { color: inherit; }

    .contenedor {
      width: min(1220px, calc(100% - 34px));
      margin-inline: auto;
      padding: 22px 0 30px;
    }

    .cabecera {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      min-height: 76px;
      padding: 3px 2px;
    }
    .marca {
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 0;
      text-decoration: none;
    }
    .marca-logo {
      display: block;
      width: 68px;
      height: 68px;
      flex: 0 0 68px;
      object-fit: cover;
      border: 2px solid #0b090c;
      border-radius: 50%;
      background: #261d2c;
      box-shadow: 0 7px 18px rgba(0,0,0,.28);
    }
    .marca-nombre {
      margin: 0;
      font-family: "Arial Black", Arial, sans-serif;
      font-size: clamp(1.05rem, 2vw, 1.38rem);
      line-height: 1.05;
      letter-spacing: -.035em;
    }
    .marca-bajada {
      margin: 6px 0 0;
      color: var(--suave);
      font-size: .77rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .en-vivo {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      flex: 0 0 auto;
      padding: 9px 13px;
      border: 1px solid #4a3941;
      border-radius: 999px;
      background: #251d22;
      color: #ffd9ca;
      font-size: .74rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .en-vivo i {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--naranja);
      animation: pulso 1.6s infinite;
    }
    @keyframes pulso { 0%,100%{opacity:1} 50%{opacity:.35} }

    .portada {
      position: relative;
      overflow: hidden;
      margin-top: 20px;
      padding: clamp(32px, 5.6vw, 68px);
      border: 1px solid var(--borde);
      border-top: 4px solid var(--naranja);
      border-radius: 30px;
      background: var(--panel);
      box-shadow: var(--sombra);
    }
    .portada::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 18px;
      height: 100%;
      background: linear-gradient(to bottom,
        var(--violeta) 0 34%,
        var(--amarillo) 34% 66%,
        var(--naranja) 66% 100%);
    }
    .portada-contenido { position: relative; z-index: 1; max-width: 820px; }
    .portada-etiqueta {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      color: var(--amarillo);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .portada-etiqueta::before {
      content: "";
      width: 31px;
      height: 3px;
      background: var(--naranja);
      border-radius: 3px;
    }
    .portada h1 {
      max-width: 800px;
      margin: 0;
      font-family: "Arial Black", Arial, sans-serif;
      font-size: clamp(2.55rem, 7vw, 5.7rem);
      font-weight: 900;
      line-height: .94;
      letter-spacing: -.075em;
      text-wrap: balance;
    }
    .portada h1 span { display: block; margin-top: 2px; color: var(--naranja); }
    .portada p {
      max-width: 630px;
      margin: 23px 0 0;
      color: #d1c9d4;
      font-size: clamp(1rem, 1.8vw, 1.13rem);
      line-height: 1.65;
    }
    .accesos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
    .acceso {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 45px;
      padding: 0 16px;
      border: 1px solid #4b4052;
      border-radius: 999px;
      background: #2a2330;
      color: var(--texto);
      font-size: .91rem;
      font-weight: 800;
      text-decoration: none;
      transition: .18s ease;
    }
    .acceso:hover, .acceso:focus-visible {
      transform: translateY(-2px);
      border-color: var(--naranja);
      background: #332a3a;
      outline: none;
    }
    .acceso svg { width: 19px; height: 19px; fill: currentColor; }

    .transmisiones {
      display: grid;
      grid-template-columns: minmax(390px, .92fr) minmax(0, 1.24fr);
      gap: 20px;
      margin-top: 22px;
      align-items: stretch;
    }
    .tarjeta {
      display: flex;
      flex-direction: column;
      min-width: 0;
      overflow: hidden;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: var(--panel);
      box-shadow: var(--sombra);
    }
    .tarjeta-cabecera {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 18px;
      min-height: 112px;
      padding: 22px 23px 18px;
      border-bottom: 1px solid var(--borde);
    }
    .tarjeta-etiqueta {
      display: block;
      margin-bottom: 6px;
      color: var(--amarillo);
      font-size: .70rem;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .tarjeta h2 {
      margin: 0;
      font-family: "Arial Black", Arial, sans-serif;
      font-size: clamp(1.35rem, 2.2vw, 1.78rem);
      line-height: 1.05;
      letter-spacing: -.035em;
    }
    .tarjeta-cabecera p { margin: 7px 0 0; color: var(--suave); font-size: .91rem; line-height: 1.45; }
    .tarjeta-icono {
      display: grid;
      place-items: center;
      width: 43px;
      height: 43px;
      flex: 0 0 43px;
      border: 1px solid #4b414f;
      border-radius: 13px;
      background: var(--panel-2);
      color: var(--amarillo);
    }
    .tarjeta-icono svg { width: 21px; height: 21px; fill: currentColor; }

    .zona-reproductor {
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 1;
      min-height: 520px;
      padding: 18px;
      background: var(--fondo-profundo);
    }
    .marco-reproductor {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 484px;
      overflow: hidden;
      border: 1px solid #413748;
      border-radius: 17px;
      background: #09080b;
    }
    .radio-marco {
      width: min(100%, 520px);
      margin-inline: auto;
      background: #121015;
    }
    .radio-iframe {
      display: block;
      width: 100%;
      height: 100%;
      border: 0;
      background: #121015;
    }
    .video-marco video {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      background: #050506;
    }
    .video-estado {
      position: absolute;
      z-index: 2;
      top: 12px;
      left: 12px;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 7px 10px;
      border: 1px solid rgba(255,255,255,.17);
      border-radius: 999px;
      background: rgba(17,14,19,.86);
      color: #eee8ec;
      font-size: .7rem;
      font-weight: 900;
      letter-spacing: .04em;
    }
    .video-estado i { width: 7px; height: 7px; border-radius: 50%; background: var(--naranja); }
    .video-error {
      position: absolute;
      z-index: 3;
      inset: 0;
      display: none;
      place-items: center;
      padding: 28px;
      background: #050506;
    }
    .video-error.visible { display: grid; }
    .video-error img {
      display: block;
      width: min(190px, 44%);
      height: auto;
      border-radius: 50%;
      object-fit: contain;
    }

    .redes {
      margin-top: 22px;
      padding: clamp(25px, 4vw, 38px);
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: var(--panel);
      box-shadow: var(--sombra);
    }
    .redes-cabecera {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 22px;
    }
    .redes h2 {
      margin: 0;
      font-family: "Arial Black", Arial, sans-serif;
      font-size: clamp(1.55rem, 3vw, 2.25rem);
      letter-spacing: -.045em;
    }
    .redes-cabecera p { max-width: 500px; margin: 0; color: var(--suave); line-height: 1.5; text-align: right; }
    .redes-grilla { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
    .red-social {
      --marca: var(--violeta);
      position: relative;
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 0;
      min-height: 92px;
      padding: 16px 17px 16px 20px;
      overflow: hidden;
      border: 1px solid #473c4d;
      border-radius: 17px;
      background: #292230;
      text-decoration: none;
      transition: .18s ease;
    }
    .red-social::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 5px;
      background: var(--marca);
    }
    .red-social:hover, .red-social:focus-visible {
      transform: translateY(-3px);
      border-color: #65566c;
      background: #302837;
      outline: none;
    }
    .whatsapp { --marca: var(--verde); }
    .instagram { --marca: var(--magenta); }
    .facebook { --marca: var(--azul); }
    .red-icono {
      display: grid;
      place-items: center;
      width: 52px;
      height: 52px;
      flex: 0 0 52px;
      border-radius: 15px;
      background: var(--marca);
      color: #fff;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
    }
    .red-icono svg { width: 26px; height: 26px; fill: currentColor; }
    .red-datos { min-width: 0; }
    .red-datos small {
      display: block;
      margin-bottom: 5px;
      color: #c9c0cc;
      font-size: .69rem;
      font-weight: 900;
      letter-spacing: .09em;
      text-transform: uppercase;
    }
    .red-datos strong { display: block; overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
    .red-flecha {
      display: grid;
      place-items: center;
      width: 32px;
      height: 32px;
      flex: 0 0 32px;
      margin-left: auto;
      border: 1px solid #55495b;
      border-radius: 50%;
      color: #d0c6d4;
      font-size: 1rem;
    }

    .pie {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 27px 4px 7px;
      color: #958b9a;
      font-size: .81rem;
    }
    .pie a { color: #cbc2ce; text-decoration: none; }
    .pie a:hover { color: var(--amarillo); }

    @media (max-width: 980px) {
      .transmisiones { grid-template-columns: 1fr; }
      .zona-reproductor { min-height: 500px; }
      .marco-reproductor { height: 464px; }
    }
    @media (max-width: 700px) {
      .contenedor { width: min(100% - 22px, 1220px); padding-top: 10px; }
      .marca-logo { width: 56px; height: 56px; flex-basis: 56px; }
      .marca-bajada { display: none; }
      .en-vivo { padding: 8px 10px; font-size: .66rem; }
      .portada { margin-top: 13px; border-radius: 24px; }
      .portada h1 { font-size: clamp(2.45rem, 13vw, 4rem); }
      .accesos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
      .transmisiones { gap: 15px; margin-top: 15px; }
      .tarjeta, .redes { border-radius: 19px; }
      .tarjeta-cabecera { min-height: 0; padding: 19px 17px 16px; }
      .zona-reproductor { min-height: 450px; padding: 12px; }
      .marco-reproductor { height: 426px; }
      .redes { margin-top: 15px; padding: 22px 16px; }
      .redes-cabecera { align-items: flex-start; flex-direction: column; }
      .redes-cabecera p { text-align: left; }
      .redes-grilla { grid-template-columns: 1fr; }
      .pie { align-items: flex-start; flex-direction: column; }
    }
    @media (max-width: 430px) {
      .accesos { grid-template-columns: 1fr; }
      .zona-reproductor { min-height: 410px; }
      .marco-reproductor { height: 386px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
    }
  

    /* NUEVO REPRODUCTOR DE RADIO — solamente reemplaza el iframe viejo */
    .radio-marco {
      width: min(100%, 560px);
      margin-inline: auto;
      background: #151119;
    }

    .radio-player-nuevo {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 484px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 28px 30px 26px;
      background:
        linear-gradient(180deg, #241d2b 0%, #18131d 100%);
      text-align: center;
    }

    .radio-player-nuevo::before {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 6px;
      background: linear-gradient(90deg,
        var(--violeta) 0 34%,
        var(--naranja) 34% 68%,
        var(--amarillo) 68% 100%);
    }

    .radio-logo-wrap {
      position: relative;
      display: grid;
      place-items: center;
      width: 126px;
      height: 126px;
      margin-bottom: 17px;
      border-radius: 50%;
      background: #0f0d12;
      box-shadow: 0 13px 28px rgba(0,0,0,.33);
    }

    .radio-logo-wrap::after {
      content: "";
      position: absolute;
      inset: -7px;
      border: 1px solid #4b3f54;
      border-radius: 50%;
    }

    .radio-logo-nuevo {
      position: relative;
      z-index: 1;
      display: block;
      width: 112px;
      height: 112px;
      border-radius: 50%;
      object-fit: cover;
      background: #fff;
    }

    .radio-en-vivo {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 9px;
      color: #f3c9bd;
      font-size: .72rem;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .radio-en-vivo i {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--naranja);
      animation: radioLatido 1.6s infinite;
    }

    @keyframes radioLatido {
      0%, 100% { opacity: 1; }
      50% { opacity: .35; }
    }

    .radio-player-nuevo h3 {
      margin: 0;
      font-family: "Trebuchet MS", Arial, sans-serif;
      font-size: clamp(1.55rem, 2.7vw, 2.15rem);
      line-height: 1;
      letter-spacing: -.035em;
    }

    .radio-player-nuevo h3 span {
      color: var(--amarillo);
    }

    .radio-player-nuevo p {
      margin: 9px 0 19px;
      color: var(--suave);
      font-size: .9rem;
      line-height: 1.45;
    }

    .radio-control-principal {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 13px;
      width: min(100%, 330px);
      min-height: 62px;
      padding: 0 22px;
      border: 0;
      border-radius: 17px;
      background: var(--naranja);
      color: #fff;
      font: inherit;
      font-size: 1rem;
      font-weight: 900;
      cursor: pointer;
      box-shadow: 0 11px 24px rgba(0,0,0,.24);
      transition: transform .18s ease, background .18s ease;
    }

    .radio-control-principal:hover,
    .radio-control-principal:focus-visible {
      transform: translateY(-2px);
      background: #fa672f;
      outline: none;
    }

    .radio-control-principal:active {
      transform: translateY(0);
    }

    .radio-control-principal svg {
      width: 24px;
      height: 24px;
      flex: 0 0 24px;
      fill: currentColor;
    }

    .radio-volumen {
      display: flex;
      align-items: center;
      gap: 11px;
      width: min(100%, 330px);
      min-height: 49px;
      margin-top: 12px;
      padding: 0 15px;
      border: 1px solid #453a4d;
      border-radius: 15px;
      background: #211a27;
    }

    .radio-volumen svg {
      width: 19px;
      height: 19px;
      flex: 0 0 19px;
      fill: #e7dfe9;
    }

    .radio-volumen input[type="range"] {
      width: 100%;
      margin: 0;
      accent-color: var(--amarillo);
      cursor: pointer;
    }

    .radio-estado {
      min-height: 18px;
      margin-top: 11px;
      color: #aaa1af;
      font-size: .77rem;
      line-height: 1.35;
    }

    .radio-estado.error {
      color: #ffad9c;
    }

    .radio-audio-nativo {
      display: none;
    }

    @media (max-width: 700px) {
      .radio-player-nuevo {
        min-height: 484px;
        padding: 25px 20px 22px;
      }

      .radio-logo-wrap {
        width: 116px;
        height: 116px;
      }

      .radio-logo-nuevo {
        width: 102px;
        height: 102px;
      }
    }
