.v19-listen{position:fixed;left:14px;bottom:14px;z-index:9990;display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100vw - 28px);padding:8px;border:1px solid #b9b3e6;border-radius:14px;background:#fff;color:#17204f;box-shadow:0 4px 18px rgba(23,32,79,.16);font:600 .9rem/1.2 system-ui,sans-serif}
.v19-listen button,.v19-listen select{min-height:44px;min-width:44px;padding:8px 12px;border:1px solid #b9b3e6;border-radius:10px;background:#f6f5fb;color:#17204f;font:inherit;cursor:pointer}
.v19-listen button[aria-pressed=true]{background:#e4defc;border-color:#5b41cc}
.v19-listen button:focus-visible,.v19-listen select:focus-visible{outline:3px solid #5b41cc;outline-offset:2px}
.v19-listen [hidden]{display:none!important}
.v19-listen .v19-status{flex-basis:100%;font-weight:500;font-size:.82rem;color:#3b4470}
.v19-reading{background:#fff3b0!important;color:#17204f!important;outline:2px solid #725f00;outline-offset:2px}
@media print{.v19-listen{display:none}}
@media(max-width:640px){.v19-listen{bottom:calc(64px + env(safe-area-inset-bottom,0px))}}
.v19-table-wrap{overflow-x:auto;margin:18px 0}
.v19-claims{width:100%;border-collapse:collapse;min-width:720px;background:#fff;border:1px solid #dfe3ee;border-radius:12px}
.v19-claims caption{text-align:left;font-weight:800;padding:12px 4px}
.v19-claims th,.v19-claims td{padding:12px;border-bottom:1px solid #dfe3ee;text-align:left;vertical-align:top;color:#17204f}
.v19-claims thead th{background:#f6f5fb;font-weight:800}
.v19-st{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:800;font-size:.8rem;border:1px solid}
.v19-st.ok{background:#eafff7;color:#0b5f4c;border-color:#0b7860}
.v19-st.test{background:#fff8d7;color:#5e4e00;border-color:#725f00}
.v19-st.no{background:#fff0fa;color:#8a1758;border-color:#a91d70}
.v19-form-status{margin-top:12px;padding:12px;border-radius:10px;font-weight:700}
.v19-form-status.err{background:#fff0fa;color:#8a1758;border:1px solid #a91d70}
.v19-form-status.ok{background:#eafff7;color:#0b5f4c;border:1px solid #0b7860}
.v19-err{display:block;color:#8a1758;font-weight:700;font-size:.85rem;margin-top:4px}
.v19-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* ===== V20 ===== */
html{scroll-padding-top:96px;scroll-padding-bottom:120px}
/* Targets: keep nav, footer, buttons and form controls comfortably large (WCAG 2.5.8 / 2.5.5) */
.navlinks a,.mobile a,.footer a,.btn,button,select,input[type=checkbox]+span{min-height:44px}
.navlinks a,.mobile a,.footer .foot a,.btn{display:inline-flex;align-items:center}
.footer .foot a{padding-block:6px}
input,select,textarea{min-height:44px}
.v20-tldr{margin:18px auto 0;width:min(1180px,calc(100% - 32px));padding:20px 22px;border:2px solid #b9b3e6;border-radius:18px;background:#faf8ff;color:#17204f}
.v20-tldr h2{margin:0 0 8px;font-size:1.1rem}
.v20-tldr ul{margin:0;padding-left:1.2em;max-width:70ch;line-height:1.55}
.v20-glossary dt{font-weight:800;margin-top:18px;color:#17204f}
.v20-glossary dd{margin:4px 0 0;max-width:70ch;line-height:1.6}
.v20-src{font-size:.9rem}
.v20-src a{overflow-wrap:anywhere}
/* Windows High Contrast / forced colors */
@media (forced-colors:active){
  body:before,.hero canvas,.v15-signal-field,.v15-story-progress,#scroll-progress{display:none!important}
  .btn,.card,.badge,.v20-tldr,.v19-st,.v16-a11y-trigger,.v16-a11y-panel,.cookie,.header,.footer,.v19-claims,.v19-claims th,.v19-claims td{border:1px solid CanvasText!important;background:Canvas!important;color:CanvasText!important;box-shadow:none!important}
  .btn.primary{border:2px solid ButtonText!important;background:ButtonFace!important;color:ButtonText!important}
  a{color:LinkText!important}
  :focus-visible{outline:3px solid Highlight!important;outline-offset:2px}
  .v19-reading{outline:3px solid Highlight!important;background:Canvas!important}
  .gradient,.accent{background:none!important;-webkit-text-fill-color:currentColor!important;color:CanvasText!important}
  img{forced-color-adjust:none}
}
/* Contrast preference from the operating system */
@media (prefers-contrast:more){
  :root{--line:#17204f}
  .card,.btn,.badge,.v20-tldr,.v19-claims,.v19-claims th,.v19-claims td{border-color:#17204f!important}
  .muted,small,.eyebrow{color:#17204f!important}
  :focus-visible{outline:3px solid #17204f!important;outline-offset:3px}
}
@media print{.v20-tldr{break-inside:avoid}}

/* V24 */
.v24-plain{max-width:70ch;line-height:1.7;font-size:1.05rem;padding-left:1.2em}
.v24-plain li{margin:.4em 0}
