/* Stratton Accessibility Widget — ported from the Synergy Digital Lab widget.
   Include on every page:  <link rel="stylesheet" href="a11y.css">  +  <script src="a11y.js" defer></script> */
:root{--ax-bg:#0F0F0F;--ax-bg2:#171717;--ax-line:rgba(255,255,255,.12);--ax-text:#fff;--ax-mid:#FFFFFF;--ax-red:#E3263A;--ax-red-d:#B81D2E;--ax-red-t:#F23B4D}
.a11y-tab{position:fixed;left:0;bottom:32px;z-index:1050;display:flex;align-items:center;gap:7px;writing-mode:vertical-rl;padding:12px 9px;background:#0A0A0A;color:#fff;border:1px solid rgba(255,255,255,.18);border-left:0;border-radius:0 10px 10px 0;font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:background .2s,padding .2s}
.a11y-tab svg{width:20px;height:20px;writing-mode:horizontal-tb;flex:none;color:var(--ax-red)}
.a11y-tab:hover{background:#1b1b1b;padding-left:13px}
.a11y-tab[aria-expanded="true"]{background:var(--ax-red)}
.a11y-tab[aria-expanded="true"] svg{color:#fff}
.a11y-tab:focus-visible{outline:3px solid #fff;outline-offset:2px}
.ax-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.a11y-panel{position:fixed;left:0;top:0;bottom:0;z-index:2100;width:min(360px,88vw);background:var(--ax-bg);color:var(--ax-text);border-right:1px solid var(--ax-red);transform:translateX(-105%);visibility:hidden;transition:transform .34s cubic-bezier(.22,.61,.36,1),visibility .34s;box-shadow:30px 0 80px rgba(0,0,0,.55);display:flex;flex-direction:column;font-family:'Barlow',system-ui,Arial,sans-serif}
.a11y-panel.open{transform:none;visibility:visible}
.a11y-head{position:relative;padding:18px 20px 14px;border-bottom:2px solid var(--ax-red);background:linear-gradient(180deg,#1a0b0e,var(--ax-bg))}
.a11y-head h2{padding-right:40px;font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;color:#fff}
.a11y-head p{font-size:.8rem;color:var(--ax-mid);margin:0 0 12px;font-weight:500}
.a11y-actions{display:flex;gap:8px;flex-wrap:wrap}
.a11y-actions button,.a11y-actions a{font-family:inherit;font-size:.74rem;font-weight:700;color:#fff;background:var(--ax-bg2);border:1px solid var(--ax-line);border-radius:100px;padding:6px 12px;cursor:pointer;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.a11y-actions button:hover,.a11y-actions a:hover{border-color:var(--ax-red);color:var(--ax-red-t)}
.a11y-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:8px;background:none;border:none;cursor:pointer;font-size:1.1rem;color:#fff}
.a11y-close:hover{background:rgba(255,255,255,.08)}
.a11y-body{overflow-y:auto;padding:6px 20px 28px;flex:1;scrollbar-width:thin;scrollbar-color:#333 transparent}
.a11y-sec{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ax-red-t);margin:20px 0 6px}
.a11y-prof{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-prof .a11y-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px;border-radius:10px;background:var(--ax-bg2);border:1px solid var(--ax-line);color:#fff;cursor:pointer;font-family:inherit;min-height:74px}
.a11y-card b{font-size:.84rem;font-weight:700;line-height:1.2}
.a11y-card span{font-size:.7rem;color:var(--ax-mid);line-height:1.35}
.a11y-card[aria-pressed="true"]{border-color:var(--ax-red);background:rgba(227,38,58,.16)}
.a11y-card[aria-pressed="true"] b::after{content:" ✓";color:var(--ax-red-t)}
.a11y-card:hover{border-color:rgba(255,255,255,.3)}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:78px;padding:10px 6px;border-radius:10px;background:var(--ax-bg2);border:1px solid var(--ax-line);color:#fff;cursor:pointer;font-family:inherit;font-size:.76rem;font-weight:700;text-align:center;line-height:1.2}
.a11y-tile svg{width:22px;height:22px;stroke:var(--ax-red-t);fill:none;stroke-width:2}
.a11y-tile[aria-pressed="true"]{background:var(--ax-red);border-color:var(--ax-red)}
.a11y-tile[aria-pressed="true"] svg{stroke:#fff}
.a11y-tile:hover{border-color:rgba(255,255,255,.3)}
.a11y-steps{display:flex;gap:6px}
.a11y-steps button{flex:1;font-family:inherit;border:1px solid var(--ax-line);border-radius:8px;background:var(--ax-bg2);padding:8px 0;font-weight:800;cursor:pointer;color:#fff;min-height:40px}
.a11y-steps button[aria-pressed="true"]{border-color:var(--ax-red);background:var(--ax-red)}
.a11y-foot{padding:12px 20px;border-top:1px solid var(--ax-line);font-size:.76rem;color:var(--ax-mid)}
.a11y-foot a{color:#fff}
.a11y-panel :focus-visible{outline:3px solid #fff;outline-offset:2px}
/* ===== effects ===== */
html.a11y-text1{font-size:112.5%}
html.a11y-text2{font-size:125%}
html.a11y-font body,html.a11y-font body *:not(svg):not(path){font-family:Arial,Helvetica,sans-serif !important;letter-spacing:.01em !important}
html.a11y-links main a,html.a11y-links footer a{text-decoration:underline !important;text-underline-offset:3px}
html.a11y-space body{letter-spacing:.06em;word-spacing:.12em}
html.a11y-space p,html.a11y-space li{line-height:1.95 !important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.a11y-motion video{display:none !important}
html.a11y-contrast main,html.a11y-contrast footer{filter:contrast(1.3)}
html.a11y-contrast p,html.a11y-contrast li,html.a11y-contrast small{color:#fff !important}
html.a11y-mono main,html.a11y-mono footer{filter:grayscale(1)}
html.a11y-desat main,html.a11y-desat footer{filter:saturate(.4)}
html.a11y-noimg main img,html.a11y-noimg footer img{visibility:hidden}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l16 10-7 1 4 7-3 2-4-7-6 5z' fill='black' stroke='white'/%3E%3C/svg%3E") 4 2,auto !important}
html.a11y-focus :focus{outline:4px solid #FFD400 !important;outline-offset:2px !important}
html.a11y-titles h1,html.a11y-titles h2,html.a11y-titles h3{background:rgba(227,38,58,.28);outline:2px solid var(--ax-red)}
html.a11y-hover a:hover,html.a11y-hover button:hover{outline:3px solid #FFD400 !important;background:rgba(255,212,0,.14) !important}
/* site is already dark: "Dark contrast" = pure black/white, no glows or photos behind text */
html.a11y-dark main,html.a11y-dark footer{background:#000}
html.a11y-dark main *{text-shadow:none !important;box-shadow:none !important}
html.a11y-dark .hero-media,html.a11y-dark .hero::before,html.a11y-dark .hero::after,html.a11y-dark #hero-particles{display:none !important}
html.a11y-dark section{background:#000 !important}
html.a11y-light main,html.a11y-light footer{filter:invert(1) hue-rotate(180deg)}
html.a11y-light main img,html.a11y-light main iframe,html.a11y-light footer img{filter:invert(1) hue-rotate(180deg)}
html.a11y-guide #a11yGuide{display:block}
#a11yGuide{display:none;position:fixed;left:0;right:0;height:10vh;background:rgba(227,38,58,.14);border-block:2px solid var(--ax-red);pointer-events:none;z-index:2050}
html.a11y-mask #a11yMask{display:block}
#a11yMask{display:none;position:fixed;inset:0;pointer-events:none;z-index:2040;background:rgba(0,0,0,.6);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 calc(var(--my,50vh) - 7vh),transparent calc(var(--my,50vh) - 7vh),transparent calc(var(--my,50vh) + 7vh),#000 calc(var(--my,50vh) + 7vh));
  mask-image:linear-gradient(180deg,#000 0%,#000 calc(var(--my,50vh) - 7vh),transparent calc(var(--my,50vh) - 7vh),transparent calc(var(--my,50vh) + 7vh),#000 calc(var(--my,50vh) + 7vh))}
@media(prefers-reduced-motion:reduce){.a11y-panel{transition:none}}
@media(max-width:768px){.a11y-tab{writing-mode:horizontal-tb;top:auto;transform:none;bottom:calc(86px + env(safe-area-inset-bottom));width:44px;height:44px;padding:0;justify-content:center}.a11y-tab .tab-text{display:none}.a11y-tab:hover{padding-left:0}}