.skip-links{
      position:fixed;
      top:0;
      left:16px;
      z-index:10000;
      display:flex;
      gap:6px;
      transform:translateY(-140%);
      transition:transform .15s ease;
    }

.skip-links:focus-within{transform:translateY(0)}

.skip-links a{
      padding:12px 16px;
      color:#fff;
      background:#000;
      border-radius:0 0 10px 10px;
      font-weight:900;
    }

.accessibility-panel{
      position:fixed;
      top:0;
      right:0;
      z-index:5000;
      width:min(470px,100%);
      height:100dvh;
      overflow:auto;
      padding:24px;
      color:#17263c;
      background:#fff;
      box-shadow:-24px 0 70px rgba(0,0,0,.24);
      transform:translateX(105%);
      visibility:hidden;
      transition:transform .28s ease,visibility .28s;
    }

.accessibility-panel.open{
      transform:translateX(0);
      visibility:visible;
    }

.accessibility-backdrop{
      position:fixed;
      inset:0;
      z-index:4990;
      background:rgba(1,7,15,.62);
      backdrop-filter:blur(4px);
    }

.accessibility-panel-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:20px;
      padding-bottom:18px;
      border-bottom:1px solid #dce4ee;
    }

.accessibility-panel-head h2{margin:3px 0 0;font-size:30px}

.accessibility-eyebrow{
      color:#c41528;
      font-size:11px;
      font-weight:900;
      letter-spacing:.1em;
      text-transform:uppercase;
    }

.accessibility-close{
      flex:0 0 44px;
      width:44px;height:44px;
      border:1px solid #dce4ee;
      border-radius:13px;
      background:#fff;
      cursor:pointer;
    }

.accessibility-status{
      margin:18px 0;
      padding:13px 15px;
      border-radius:12px;
      color:#184b38;
      background:#e8f7f0;
      font-size:13px;
      font-weight:750;
    }

.accessibility-group{
      padding:20px 0;
      border-bottom:1px solid #dce4ee;
    }

.accessibility-group h3{margin:0 0 15px;font-size:18px}

.accessibility-control-row{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:15px;
      margin-bottom:14px;
      font-weight:800;
    }

.accessibility-stepper{
      display:flex;
      align-items:center;
      gap:4px;
      border:1px solid #cfd9e5;
      border-radius:12px;
      overflow:hidden;
    }

.accessibility-stepper button{
      width:42px;height:40px;
      border:0;
      background:#f3f6fa;
      cursor:pointer;
      font-weight:900;
    }

.accessibility-stepper output{
      min-width:76px;
      padding:0 8px;
      text-align:center;
      font-size:12px;
      font-weight:900;
    }

.accessibility-options-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:9px;
    }

.accessibility-option{
      min-height:72px;
      display:flex;
      align-items:center;
      gap:10px;
      padding:12px;
      border:1px solid #d5deea;
      border-radius:14px;
      color:#23344f;
      background:#fff;
      text-align:left;
      cursor:pointer;
    }

.accessibility-option span{
      flex:0 0 31px;
      font-size:19px;
      font-weight:900;
      text-align:center;
    }

.accessibility-option strong{font-size:13px}

.accessibility-option[aria-pressed="true"]{
      color:#fff;
      border-color:#173b66;
      background:#173b66;
    }

.voice-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}

.voice-controls button{
      min-height:48px;
      padding:10px;
      border:1px solid #d5deea;
      border-radius:13px;
      background:#fff;
      cursor:pointer;
      font-weight:850;
    }

.voice-controls .voice-primary{
      grid-column:1/-1;
      color:#fff;
      border-color:#c41528;
      background:#c41528;
    }

.voice-controls .voice-primary.listening{
      animation:voicePulse 1.2s infinite;
    }

.voice-help,
    .voice-transcript,
    .accessibility-note{
      margin-top:12px;
      padding:12px;
      border-radius:11px;
      color:#526078;
      background:#f3f6fa;
      font-size:12px;
    }

.voice-transcript{color:#173b66;font-weight:750}

.accessibility-panel-footer{padding-top:20px}

.accessibility-reset{
      width:100%;
      min-height:46px;
      border:1px solid #cfd9e5;
      border-radius:13px;
      background:#fff;
      cursor:pointer;
      font-weight:900;
    }

.video-accessibility-content{
      padding:15px 18px 18px;
      color:#dbe5ef;
      background:#08101b;
    }

.video-accessibility-tabs{
      display:flex;
      gap:8px;
      margin-bottom:12px;
    }

.video-accessibility-tabs button{
      padding:9px 13px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:10px;
      color:#fff;
      background:transparent;
      cursor:pointer;
      font-weight:850;
    }

.video-accessibility-tabs button[aria-selected="true"]{
      background:#c41528;
      border-color:#c41528;
    }

.video-accessibility-panel{
      max-height:140px;
      overflow:auto;
      padding:12px;
      border-radius:11px;
      background:rgba(255,255,255,.06);
      font-size:13px;
    }

.video-accessibility-panel p{margin:0}

[data-a11y-generated-alt="true"]{
      outline:2px dashed #d58600;
      outline-offset:2px;
    }

.skip-link{
      position:fixed;
      left:16px;
      top:-70px;
      z-index:9999;
      padding:12px 18px;
      color:#fff;
      background:#000;
      border-radius:0 0 10px 10px;
    }

.skip-link:focus{top:0}

@media (max-width:680px){
.accessibility-panel{padding:18px}
.accessibility-options-grid{grid-template-columns:1fr}
.voice-controls{grid-template-columns:1fr}
.voice-controls .voice-primary{grid-column:auto}
}
