/* Shared controls use native buttons and a modal dialog for keyboard access. */
.accessibility-button[hidden]{display:none}
.accessibility-button{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:1000;display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 18px;border:2px solid #fff;border-radius:30px;background:#171717;color:#fff;box-shadow:0 3px 14px #0003;font:700 .875rem/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.accessibility-button svg{width:26px;height:26px;flex:none}
.accessibility-button:hover{background:#3b3b3b}
.accessibility-button:focus-visible,.accessibility-panel button:focus-visible{outline:3px solid #005fcc;outline-offset:4px;box-shadow:0 0 0 7px #fff}
.accessibility-panel{position:fixed;inset:auto max(20px,env(safe-area-inset-right)) max(90px,calc(env(safe-area-inset-bottom) + 74px)) auto;margin:0;width:min(380px,calc(100vw - 40px));max-height:calc(100dvh - 130px);overflow-y:auto;padding:24px;border:1px solid #666;border-radius:12px;background:#fff;color:#171717;box-shadow:0 12px 55px #0003}
.accessibility-panel::backdrop{background:#0003;backdrop-filter:none}
.accessibility-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.accessibility-heading h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.3px;margin:0;flex:1}
.accessibility-close{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;padding:0;border:1px solid #666;border-radius:6px;background:white;color:#171717;font-size:1.75rem;line-height:1;cursor:pointer}
.accessibility-panel #accessibility-description{font-size:.875rem;line-height:1.6;color:#454545;margin:0 0 18px}
.accessibility-options{display:grid;gap:10px}
.accessibility-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px;border:1px solid #767676;border-radius:6px;background:#fff;color:#171717;font:600 .9375rem/1.4 Arial,Helvetica,sans-serif;text-align:left;cursor:pointer}
.accessibility-options button[aria-pressed=true]{background:#171717;color:#fff;border-color:#171717}
.accessibility-state{font-size:.75rem;font-weight:700}
.accessibility-reset{min-height:44px;margin-top:16px;padding:10px 4px;border:0;background:none;color:#171717;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.site-footer{padding-bottom:0}
html.a11y-largeText{font-size:125%}
.a11y-largeText .header-inner{flex-wrap:wrap;padding-block:16px}
.a11y-largeText .header-inner nav{flex-wrap:wrap}
.a11y-largeText .team-person h3{overflow-wrap:anywhere}
.a11y-highContrast{--ink:#111;--muted:#333;--paper:#fff;--warm:#fff;--line:#666;--red:#a3000a;--red-dark:#760007}
.a11y-highContrast .contact-page{background:#fff}
.a11y-highContrast .form-field input,.a11y-highContrast .form-field textarea{background:white;border-color:#666;color:#111}
.a11y-highContrast .portrait-pending span{color:#222}
.a11y-highContrast .join-inner .eyebrow{opacity:1}
.a11y-highContrast .text-link{color:#111}
.a11y-underlineLinks a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}
html.a11y-reducedMotion{scroll-behavior:auto!important}
.a11y-reducedMotion *,.a11y-reducedMotion *::before,.a11y-reducedMotion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:450px){.accessibility-button{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));min-height:48px;padding:10px 14px}.accessibility-panel{right:12px;bottom:76px;width:calc(100vw - 24px);max-height:calc(100dvh - 100px);padding:20px}.a11y-largeText .form-row{grid-template-columns:1fr}}
@media(forced-colors:active){.accessibility-button,.accessibility-options button[aria-pressed=true]{background:ButtonFace;color:ButtonText;border:2px solid ButtonText}.accessibility-options button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-5px}}
/* Keep the admin save controls clear of the fixed accessibility launcher. */
.admin-body .save-bar{bottom:90px}
