/* Final accessibility review: shared focus, text and layout corrections. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
:where(a,button,summary,input,select,textarea,audio,video):focus-visible { outline:3px solid #000066; outline-offset:3px; box-shadow:0 0 0 3px white; }
#main-content:focus,#home-content:focus { outline:none; }
.page-content audio { width:100%; max-width:18.75rem; min-width:0; }
.page-content .a11y-h3,.page-content .a11y-h4,.page-content .a11y-h5,.page-content .a11y-h6 { letter-spacing:normal; text-shadow:none; text-transform:none; }
.page-content .a11y-h3 { margin-block:1em; }
.page-content .a11y-h4 { margin-block:1.33em; }
.page-content .a11y-h5 { margin-block:1.67em; }
.page-content .a11y-h6 { margin-block:2.33em; }
@media (max-width:600px) {
 .page-content table:not([data-data-table]) { width:100%; }
 .page-content table:not([data-data-table]) > tbody > tr > th,
 .page-content table:not([data-data-table]) > tr > th { display:block; width:100%!important; max-width:100%; }
}

/* Stronger text colors preserve contrast across the full paper texture. */
a { color:#000099; }
a:hover { color:#800000; }
.main-content a:not(.site-button),.main-content a:not(.site-button):visited { color:#000099!important; }
.main-content a:not(.site-button):hover,.main-content a:not(.site-button):active { color:#800000!important; }
.main-content > h1 { color:#b00000; }
.contact-details nav a { color:#800000; }
.home-desktop .linkHome,.home-mobile .linkHome { color:#800000; }
.home-desktop .kw { color:#333; }
.page-content .video-surround,.page-content .video-surround a:not(.site-button) { color:white!important; }
