.site-accessibility-button,.portal-body .portal-accessibility-icon { display:inline-grid; place-items:center; width:48px; height:48px; min-width:48px; padding:10px; border:1px solid #c9a96e; border-radius:50%; background:#2f1d11; color:#fff; cursor:pointer; }
.site-accessibility-button { position:fixed; left:16px; top:50%; transform:translateY(-50%); z-index:10010; box-shadow:0 3px 14px #0004; }
.site-accessibility-button svg,.portal-accessibility-icon svg { width:26px; height:26px; }
.site-accessibility-button:focus-visible { outline:3px solid #ddc28f; outline-offset:4px; }
body.site-accessibility :focus-visible { outline:3px solid #8a6f43; outline-offset:4px; }
body.site-accessibility .portal-accessibility { position:fixed; inset:0; margin:auto; width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:24px; border:1px solid #a18c7d; border-radius:16px; background:#f9f4ee; color:#2f1d11; font:1rem/1.6 Arial,sans-serif; text-align:left; }
.site-accessibility .portal-accessibility::backdrop { background:#000a; }
.site-accessibility .portal-accessibility-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:start; }
.site-accessibility .portal-accessibility h2 { font:clamp(1.125rem,4vw,1.5rem)/1.3 Georgia,serif; margin:0; color:inherit; max-width:100%; overflow-wrap:anywhere; }
.site-accessibility .portal-accessibility p { font: .9375rem/1.6 Arial,sans-serif; color:inherit; margin:16px 0; }
.site-accessibility .portal-accessibility>label { display:block; margin:18px 0 8px; font-weight:600; }
.site-accessibility .portal-accessibility .portal-preference { display:flex; align-items:center; gap:12px; min-height:44px; }
.site-accessibility .portal-preference input { width:22px; height:22px; flex-shrink:0; accent-color:#8a6f43; }
.site-accessibility .portal-accessibility .portal-input { width:100%; padding:12px; min-height:48px; height:auto; font:inherit; background:#fff; color:#2f1d11; border:1px solid #a18c7d; border-radius:7px; }
.site-accessibility .portal-accessibility .portal-button { width:auto; min-height:44px; padding:10px 16px; white-space:normal; font:inherit; color:#2f1d11; background:#f1e8df; border:1px solid #a18c7d; border-radius:7px; cursor:pointer; }
.site-accessibility .portal-accessibility button:disabled { opacity:.65; }
.site-accessibility .portal-reading { outline:3px solid #8a6f43; outline-offset:3px; }
html[data-a11y-links] .site-accessibility a { text-decoration:underline!important; text-underline-offset:.2em; }
html[data-a11y-spacing] .site-accessibility :is(p,li,label,a,button,td,th) { line-height:1.8!important; letter-spacing:.06em!important; word-spacing:.12em!important; }
html[data-a11y-motion] *,html[data-a11y-motion] *::before,html[data-a11y-motion] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
html[data-portal-theme=dark] .site-accessibility { color-scheme:dark; background:#18130f; color:#f9f4ee; }
html[data-portal-theme=dark] .site-accessibility :is(header,footer,main,section,article,aside,nav,dialog,form,table,td,th,input,select,textarea) { background-color:#2f1d11!important; color:#f9f4ee!important; border-color:#a18c7d; }
html[data-portal-theme=dark] .site-accessibility :is(h1,h2,h3,h4,p,li,label,small,a,summary,span) { color:#f9f4ee!important; }
html[data-portal-theme=dark] .site-accessibility :is([class*=card],[class*=box],.portal-accessibility .portal-button) { background:#3b291c!important; color:#f9f4ee!important; }
/* Keep the public site identity in dark mode, including system preferences. */
html[data-portal-theme=dark] .site-accessibility :is(header,footer,header nav,.site-header__mobile,.kv-mobile) { background-color:#000!important; }
html[data-portal-theme=dark] .site-accessibility :is(.eyebrow,.destaque,.kv-eyebrow,.kv-btn,.btn,.site-header__cta,.site-header__nav-cta,.site-header__client) { color:#c9a96e!important; }
html[data-portal-theme=dark] .site-accessibility :is(a,button):hover { color:#ddc28f!important; }
html[data-a11y-contrast] .site-accessibility :is(header,footer,main,section,article,aside,nav,dialog,div,form,table,td,th,input,select,textarea,a,button) { background:#fff!important; color:#000!important; border-color:#000!important; }
html[data-a11y-contrast] .site-accessibility :is(h1,h2,h3,h4,p,li,label,small,summary,span) { color:#000!important; }
html[data-a11y-contrast] .site-accessibility a { text-decoration:underline!important; }
.site-accessibility :is(input,select,textarea) { max-width:100%; }
.site-accessibility [data-site-scaled] { height:auto!important; max-height:none!important; white-space:normal!important; overflow-wrap:break-word; }
@media(prefers-reduced-motion:reduce) { .site-accessibility * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media(max-width:480px) { .site-accessibility .portal-accessibility { padding:16px; }.site-accessibility-button { left:10px; } }
@media print { .site-accessibility-button,.portal-accessibility { display:none!important; } }
