/* Only explicit visitor preferences affect existing page styles. */
html[data-mx-a11y-text]{font-size:calc(100% * var(--mx-a11y-scale,1))}
.mx-a11y-launch{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(112px + env(safe-area-inset-bottom));z-index:950;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;padding:8px;border:2px solid #fff;border-radius:50%;background:#214e40;color:#fff;box-shadow:0 2px 10px #0005;cursor:pointer;transition:background-color .12s,border-color .12s}
.mx-a11y-launch:hover{background:#0b7655;border-color:#ffdf85}.mx-a11y-launch[hidden]{display:none!important}
.mx-a11y-launch>svg{width:28px;height:28px}.mx-a11y-launch svg,.mx-a11y-panel svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mx-a11y-hint{position:absolute;right:calc(100% + 10px);width:max-content;max-width:min(260px,calc(100vw - 90px));padding:9px 12px;border:1px solid #fff;border-radius:6px;background:#152d25;color:#fff;font:500 .875rem/1.4 var(--sans,Arial,sans-serif);text-align:start;overflow-wrap:anywhere;pointer-events:none;visibility:hidden;opacity:0}
.mx-a11y-launch:hover .mx-a11y-hint,.mx-a11y-launch:focus-visible .mx-a11y-hint{visibility:visible;opacity:1}
.mx-a11y-panel{position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-inline-start:1px solid #aab6b0;border-radius:0;background:#fafcfb;color:#14241c;font:400 1rem/1.5 var(--sans,Arial,sans-serif);box-sizing:border-box;overflow:hidden}
.mx-a11y-panel[open]{display:flex;flex-direction:column;animation:mx-a11y-enter .18s ease-out}
.mx-a11y-panel::backdrop{background:rgb(0 0 0 / .35)}
.mx-a11y-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;flex:none;border-bottom:1px solid #aab6b0}
.mx-a11y-header h2{margin:0;font-size:1.2rem;line-height:1.35;overflow-wrap:anywhere}
.mx-a11y-panel button{box-sizing:border-box;cursor:pointer;font:inherit;line-height:1.4;white-space:normal;overflow-wrap:anywhere;color:#14241c;background:#fff;border:1px solid #607b6c;border-radius:7px;min-height:44px;padding:10px 12px}
.mx-a11y-panel button:hover:not(:disabled){background:#e2f1e9;border-color:#176644}
.mx-a11y-header button{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:10px}.mx-a11y-panel svg{width:22px;height:22px}
.mx-a11y-body{display:flex;flex-direction:column;gap:12px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));overflow:auto;min-height:0;overscroll-behavior:contain}
.mx-a11y-size h3{font-size:1rem;margin:0 0 10px}.mx-a11y-steps{direction:ltr;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:center}.mx-a11y-steps button{display:flex;justify-content:center;align-items:center;padding:10px}.mx-a11y-steps output{text-align:center;font-weight:700;font-size:1.1rem}
.mx-a11y-panel button:disabled{opacity:.45;cursor:default}.mx-a11y-bounds,.mx-a11y-help{font-size:.875rem;line-height:1.5;margin:8px 0 0}.mx-a11y-body>.mx-a11y-button{display:flex;align-items:center;gap:12px;text-align:start}.mx-a11y-body button span{min-width:0}.mx-a11y-panel button[aria-pressed=true]{background:#173f30;color:#fff;border-color:#173f30}.mx-a11y-panel button[aria-pressed=true]:hover{background:#0a5739}.mx-a11y-status{font-size:.875rem;overflow-wrap:anywhere;margin:0;min-height:1.5em}
.mx-a11y-launch:focus-visible,.mx-a11y-panel :focus-visible{outline:3px solid #005fcc;outline-offset:3px}
html[data-theme=dark] .mx-a11y-panel{background:#15211d;color:#fff;border-color:#b9c9c0;color-scheme:dark}
html[data-theme=dark] .mx-a11y-panel button{background:#1d3027;color:#fff;border-color:#abc8b9}
html[data-theme=dark] .mx-a11y-panel button:hover:not(:disabled){background:#304e3f}
html[data-theme=dark] .mx-a11y-panel button[aria-pressed=true]{background:#e2ffec;color:#082b19}
html[data-theme=dark] :is(.mx-a11y-launch,.mx-a11y-panel):focus-visible,html[data-theme=dark] .mx-a11y-panel :focus-visible{outline-color:#ffd966}
html[data-mx-a11y-links] a[href]{text-decoration-line:underline!important;text-underline-offset:.18em;text-decoration-thickness:max(1px,.08em)}
html[data-mx-a11y-contrast]{--mx-a11y-bg:#fff;--mx-a11y-fg:#000;--mx-a11y-link:#003e9c;--ink:#000;--paper:#fff;--surface:#fff;--muted:#111;--line:#000}
html[data-mx-a11y-contrast][data-theme=dark]{--mx-a11y-bg:#000;--mx-a11y-fg:#fff;--mx-a11y-link:#9ad5ff;--ink:#fff;--paper:#000;--surface:#000;--muted:#fff;--line:#fff}
html[data-mx-a11y-contrast] :is(body,.site-head.white-header,.main-scroll,.contact-footer,.section-content,.mf-review,.mx-a11y-panel){background-color:var(--mx-a11y-bg)!important;color:var(--mx-a11y-fg)!important}
html[data-mx-a11y-contrast] :is(button,input,textarea,select){background-color:var(--mx-a11y-bg)!important;color:var(--mx-a11y-fg)!important;border-color:var(--mx-a11y-fg)!important}
html[data-mx-a11y-contrast] :is(.header-section-nav a,.section-content a,.mf-review a,.footer-item,.footer-copyright,.mx-a11y-panel p){color:var(--mx-a11y-fg)!important}
html[data-mx-a11y-contrast] .section-content a[href]{color:var(--mx-a11y-link)!important;text-decoration:underline}
html[data-mx-a11y-contrast] .mx-a11y-panel button[aria-pressed=true]{outline:2px solid var(--mx-a11y-fg);outline-offset:-4px}
html[data-mx-a11y-large] .header-action-cluster{min-width:0;max-width:100%;flex-wrap:wrap}
html[data-mx-a11y-large] :is(.header-section-nav,.footer-items){flex-wrap:wrap}
@keyframes mx-a11y-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
html[data-mx-a11y-motion] *,html[data-mx-a11y-motion] *::before,html[data-mx-a11y-motion] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.mx-a11y-launch,.mx-a11y-panel button{border:2px solid ButtonText}.mx-a11y-panel button[aria-pressed=true]{outline:2px solid Highlight}.mx-a11y-launch:focus-visible,.mx-a11y-panel :focus-visible{outline-color:Highlight}}
@media(max-width:480px){.mx-a11y-launch{right:8px;bottom:calc(104px + env(safe-area-inset-bottom))}}

.mx-a11y-launch[data-hint-hidden] .mx-a11y-hint{visibility:hidden!important;opacity:0!important}
html[data-mx-a11y-contrast] .mx-a11y-launch:hover{outline:3px solid var(--mx-a11y-link);outline-offset:3px}

.mx-a11y-body>*{flex-shrink:0}

/* Compact nonmodal left drawer. Its handle moves with the sheet. */
.mx-a11y-panel{inset:auto auto auto 0;top:clamp(16px,20vh,160px);width:min(290px,calc(100vw - 58px));height:auto;max-height:calc(100dvh - 32px);overflow:visible;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .65s cubic-bezier(.25,.65,.25,1);z-index:950;box-shadow:0 3px 16px #0004;border:1px solid #aab6b0;border-radius:0 9px 9px 0;font-size:.8125rem}
.mx-a11y-panel[data-open]{transform:translateX(0)}
.mx-a11y-panel .mx-a11y-launch{position:absolute;left:100%;right:auto;top:12px;bottom:auto;border-radius:0 24px 24px 0;margin:0}
.mx-a11y-panel .mx-a11y-hint{left:calc(100% + 8px);right:auto;max-width:min(220px,calc(100vw - 72px));font-size:.8125rem}
.mx-a11y-launch[data-intro] .mx-a11y-hint{visibility:visible;opacity:1}
.mx-a11y-header{padding:10px;gap:6px}.mx-a11y-header h2{font-size:1.05em}
.mx-a11y-body{padding:10px;gap:7px;max-height:calc(100dvh - 140px)}
.mx-a11y-panel button{padding:7px 9px;font-size:1em}.mx-a11y-panel svg{width:19px;height:19px}
.mx-a11y-size h3{font-size:1em;margin-bottom:6px}.mx-a11y-steps output{font-size:1.05em}.mx-a11y-bounds,.mx-a11y-status{font-size:.9em}.mx-a11y-status:empty{display:none}
html[data-mx-a11y-gray]{filter:grayscale(1)}
@media(max-height:650px){.mx-a11y-panel{top:16px}}

.mx-a11y-panel{max-height:calc(100dvh - clamp(16px,20vh,160px) - 16px)}
@media(max-height:650px){.mx-a11y-panel{max-height:calc(100dvh - 32px)}}



/* Bottom handle; the first-use hint never returns after opening. */
.mx-a11y-panel{top:auto;bottom:max(12px,env(safe-area-inset-bottom));max-height:calc(100dvh - max(12px,env(safe-area-inset-bottom)) - 12px)}
.mx-a11y-panel .mx-a11y-launch{top:auto;bottom:12px}


/* While the touch drawer is open, an outside tap dismisses it, not selects a link.
   The page remains scrollable; ordinary selection/highlights return on closing. */
html[data-mx-a11y-touch-open] body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}

/* Compact neutral controls: hover changes size, never the palette. */
.mx-a11y-panel{width:min(270px,calc(100vw - 58px));font-size:.75rem;max-height:calc(100dvh - var(--mx-a11y-top,12px) - max(12px,env(safe-area-inset-bottom)))}
.mx-a11y-header{padding:8px;align-items:center}.mx-a11y-header h2{font-size:1.05em}
.mx-a11y-body{padding:8px;gap:4px;max-height:none;flex:1 1 auto}
.mx-a11y-panel{--mx-control-bg:rgba(0,0,0,.02);--mx-control-on:#c6dfcf;--mx-control-fg:#172b22;--mx-control-border:#687f73}
html[data-theme=dark] .mx-a11y-panel{--mx-control-bg:rgba(255,255,255,.03);--mx-control-on:#3d6751;--mx-control-fg:#f5faf7;--mx-control-border:#a1b8aa}
@media(any-pointer:coarse){.mx-a11y-panel{--mx-control-on:#accfb9}html[data-theme=dark] .mx-a11y-panel{--mx-control-on:#4b795e}}
html[data-mx-a11y-contrast] .mx-a11y-panel{--mx-control-bg:#fff;--mx-control-on:#e4e4e4;--mx-control-fg:#000;--mx-control-border:#000}
html[data-mx-a11y-contrast][data-theme=dark] .mx-a11y-panel{--mx-control-bg:#000;--mx-control-on:#262626;--mx-control-fg:#fff;--mx-control-border:#fff}
.mx-a11y-panel button,.mx-a11y-panel button:hover:not(:disabled){background:var(--mx-control-bg)!important;color:var(--mx-control-fg)!important;border-color:var(--mx-control-border)!important;padding:6px 8px;transition:transform .15s ease;transform-origin:center}
.mx-a11y-panel button[aria-pressed=true],.mx-a11y-panel button[aria-pressed=true]:hover,.mx-a11y-panel button[data-mx-action=reset]:not(:disabled){background:var(--mx-control-on)!important}
.mx-a11y-panel button:disabled{opacity:1;cursor:default}
.mx-a11y-panel .mx-a11y-launch{background:transparent!important;color:var(--mx-control-fg)!important;border-color:var(--mx-control-border)!important}
.mx-a11y-panel button.mx-a11y-launch[aria-expanded=true]{background:#214e40!important;color:#fff!important;border-color:#fff!important}
@media(hover:hover) and (pointer:fine){.mx-a11y-panel button.mx-a11y-launch:hover{background:#214e40!important;color:#fff!important;border-color:#fff!important}}
html[data-mx-a11y-contrast] .mx-a11y-panel :is(button[aria-pressed=true],button[data-mx-action=reset]:not(:disabled)){outline:3px solid var(--mx-control-fg);outline-offset:-4px;box-shadow:inset 0 0 0 1px var(--mx-control-fg)}
@media(hover:hover) and (pointer:fine){html:not([data-mx-a11y-input=touch]) .mx-a11y-panel button:hover:not(:disabled){transform:scale(1.06)}}
.mx-a11y-status:not([data-error]){position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.mx-a11y-status:empty{display:block}

.mx-a11y-description{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(hover:none),(pointer:coarse){.mx-a11y-launch .mx-a11y-hint{display:none!important}}

/* Match the header action palette, with a readable floating handle. */
.mx-a11y-panel{--mx-header-hover:#f4f0e9;--mx-header-border:#a88659;--mx-handle-bg:rgba(250,252,251,.96)}
html[data-theme=dark] .mx-a11y-panel{--mx-header-hover:#34312c;--mx-header-border:var(--brass,#c9a66b);--mx-handle-bg:rgba(21,33,29,.96)}
html:not([data-mx-a11y-contrast]) .mx-a11y-panel{--mx-control-on:var(--mx-header-hover)}
.mx-a11y-panel button.mx-a11y-launch{background:var(--mx-handle-bg)!important;color:var(--mx-control-fg)!important;border-color:var(--mx-control-border)!important;opacity:1}
.mx-a11y-panel button.mx-a11y-launch[aria-expanded=true]{background:var(--mx-header-hover)!important;border-color:var(--mx-header-border)!important;color:var(--mx-control-fg)!important}
@media(hover:hover) and (pointer:fine){.mx-a11y-panel button.mx-a11y-launch:hover{background:var(--mx-header-hover)!important;border-color:var(--mx-header-border)!important;color:var(--mx-control-fg)!important}}
.mx-a11y-panel button[aria-pressed=true],.mx-a11y-panel button[aria-pressed=true]:hover,.mx-a11y-panel button[data-mx-action=reset]:not(:disabled),.mx-a11y-panel button[data-mx-action=reset]:not(:disabled):hover{border-color:var(--mx-header-border)!important}
html[data-mx-a11y-contrast] .mx-a11y-panel :is(button[aria-pressed=true],button[data-mx-action=reset]:not(:disabled)){border:3px solid var(--mx-control-fg)!important;padding:4px 6px;outline:2px solid var(--mx-control-fg);outline-offset:1px;box-shadow:inset 0 0 0 1px var(--mx-control-fg)}
.back-to-top:hover,.back-to-top:focus-visible{background:#f4f0e9!important;border-color:#a88659!important;outline:2px solid #a88659;outline-offset:2px}
html[data-theme=dark] .back-to-top:hover,html[data-theme=dark] .back-to-top:focus-visible{background:#34312c!important;border-color:var(--brass)!important;outline-color:var(--brass)}

/* Neutral header surfaces throughout the drawer; stable handle in every state. */
html:not([data-mx-a11y-contrast]) .mx-a11y-panel{background:#fff;color:#252c2e;border-color:#aab5af;--mx-control-fg:#252c2e;--mx-control-border:#aab5af;--mx-handle-bg:rgba(255,255,255,.98)}
html[data-theme=dark]:not([data-mx-a11y-contrast]) .mx-a11y-panel{background:#1d2328;color:#f1f4f5;border-color:#7c898e;--mx-control-fg:#f1f4f5;--mx-control-border:#7c898e;--mx-handle-bg:rgba(29,35,40,.98)}
.mx-a11y-header{border-bottom-color:var(--mx-control-border)}
html[data-mx-a11y-gray]:not([data-mx-a11y-contrast]) .mx-a11y-panel{--mx-control-on:#b9aa98}
html[data-theme=dark][data-mx-a11y-gray]:not([data-mx-a11y-contrast]) .mx-a11y-panel{--mx-control-on:#69635b}
#mx-a11y-panel button.mx-a11y-launch{background:var(--mx-handle-bg)!important;color:var(--mx-control-fg)!important;border-color:var(--mx-control-border)!important;opacity:1}
#mx-a11y-panel button.mx-a11y-launch[aria-expanded=true]{background:var(--mx-header-hover)!important;border-color:var(--mx-header-border)!important}
@media(hover:hover) and (pointer:fine){html:not([data-mx-a11y-input=touch]) #mx-a11y-panel button.mx-a11y-launch:hover{background:var(--mx-header-hover)!important;border-color:var(--mx-header-border)!important}}
.back-to-top:hover:not(:focus-visible){outline:none}

/* Owner adjustment: slightly warmer, darker controls on light desktop only. */
@media(hover:hover) and (pointer:fine){
 html:not([data-theme=dark]):not([data-mx-a11y-contrast]) .mx-a11y-panel{--mx-control-bg:rgba(132,96,54,.06);--mx-control-on:#e3d4c0}
 html[data-mx-a11y-gray]:not([data-theme=dark]):not([data-mx-a11y-contrast]) .mx-a11y-panel{--mx-control-on:#ae9b83}
}

/* Use the same neutral tooltip palette as the header action hints. */
.mx-a11y-panel .mx-a11y-hint{background:#fff;color:#252c2e;border-color:#252c2e}
html[data-theme=dark] .mx-a11y-panel .mx-a11y-hint{background:#23292e;color:var(--ink);border-color:#a9b3b8}

html[data-mx-a11y-motion] .mx-a11y-panel button{transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.mx-a11y-panel button{transform:none!important;transition:none!important}}

/* Match the theme control's high-contrast ring on every header action.
   Outrank legacy !important action/hover rules without recoloring icon artwork. */
html:root[data-mx-a11y-contrast] .site-head.white-header :is(.header-action-circle,.theme-toggle){border-color:var(--mx-a11y-fg)!important}
