/* Shared action palette. Surface tokens keep light-page links readable. */
:root{--link-rest:#2B1A40;--link-active:#2B1A40;--link-highlight:#FFD23F}
body[data-appearance=dark],.nav,footer,.vpanel,.home-hero{--link-rest:#fff;--link-active:#FFD23F;--link-highlight:transparent}
body a:not(.btn):not(.logo):not(.program-image):not(.teaser-art){color:var(--link-rest)!important;transition:color .15s,background-color .15s;text-underline-offset:3px}
body a:not(.btn):not(.logo):not(.program-image):not(.teaser-art):is(:hover,:focus-visible){color:var(--link-active)!important;background-color:var(--link-highlight);text-decoration:underline}
/* Override legacy button variants consistently, including the membership CTA. */
body :is(.btn,button,input[type=submit],input[type=button]){background:#fff!important;color:#2B1A40!important;border-color:#CBB8E0!important;transition:background-color .15s,color .15s,border-color .15s}
body :is(.btn,button,input[type=submit],input[type=button]):is(:hover,:focus-visible):not(:disabled){background:#FFD23F!important;color:#2B1A40!important;border-color:#FFD23F!important}
body :is(a,button,input[type=submit],input[type=button]):focus-visible{outline:2px solid #7040A0;outline-offset:3px;box-shadow:0 0 0 2px #fff}
body :is(button[aria-pressed=true],button[aria-selected=true]){box-shadow:inset 0 -3px #7040A0;font-weight:700}
body :is(button,input[type=submit],input[type=button]):disabled{opacity:.5;cursor:not-allowed}
@media(min-width:1001px){.nav .dd{--link-rest:#2B1A40;--link-active:#2B1A40;--link-highlight:#FFD23F}}
@media(prefers-reduced-motion:reduce){body :is(a,button,input[type=submit],input[type=button]){transition:none!important}}
/* Media posters are images with a white play control, not filled CTA buttons. */
body button.video-poster,body button.video-poster:is(:hover,:focus-visible){background:#2B1A40!important;color:#fff!important;border:0!important}
