/* SpeedSolid Tools: accessibility menu and visitor display modes. */
@font-face{font-family:"SST OpenDyslexic";src:url("../fonts/opendyslexic-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"SST OpenDyslexic";src:url("../fonts/opendyslexic-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---------- Widget (isolated from theme styles) ---------- */
#sst-a11y-root{--sst-a11y-accent:#1b2235;--sst-a11y-lift:0px;position:fixed;bottom:calc(20px + var(--sst-a11y-lift));z-index:2147482990;font:400 14px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;color:#1b2235;letter-spacing:normal!important;word-spacing:normal!important;text-transform:none!important;zoom:1!important;filter:none!important}
#sst-a11y-root.is-open{z-index:2147483001}
#sst-a11y-root.sst-a11y--right{right:20px}
#sst-a11y-root.sst-a11y--left{left:20px}
#sst-a11y-root *,#sst-a11y-root *::before,#sst-a11y-root *::after{box-sizing:border-box;font-family:inherit!important;letter-spacing:normal!important;word-spacing:normal!important;text-transform:none!important;line-height:1.35!important;text-shadow:none!important}
#sst-a11y-root svg{width:24px;height:24px;fill:currentColor;flex:0 0 auto;display:block}
#sst-a11y-root .sst-a11y__trigger{appearance:none;display:flex;align-items:center;justify-content:center;width:var(--sst-a11y-size,56px);height:var(--sst-a11y-size,56px);margin:0;padding:0;border-radius:50%!important;border:3px solid #fff!important;background:var(--sst-a11y-accent)!important;color:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,.28)!important;cursor:pointer;min-width:0;min-height:0}
#sst-a11y-root .sst-a11y__trigger svg{width:calc(var(--sst-a11y-size,56px) * .54);height:calc(var(--sst-a11y-size,56px) * .54)}
#sst-a11y-root .sst-a11y__trigger--on::after{content:"";position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#2fb36b;border:2px solid #fff}
#sst-a11y-root .sst-a11y__trigger:hover{filter:brightness(1.2)}
#sst-a11y-root button:focus-visible,#sst-a11y-root a:focus-visible{outline:3px solid #1a73e8!important;outline-offset:2px!important;box-shadow:0 0 0 5px #fff!important}
#sst-a11y-root .sst-a11y__panel{position:absolute;bottom:calc(var(--sst-a11y-size,56px) + 12px);width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 110px - var(--sst-a11y-lift));overflow:auto;background:#fff!important;color:#1b2235!important;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.28);padding:16px;border:1px solid #d8dde3}
#sst-a11y-root.sst-a11y--right .sst-a11y__panel{right:0}
#sst-a11y-root.sst-a11y--left .sst-a11y__panel{left:0}
#sst-a11y-root .sst-a11y__panel[hidden]{display:none!important}
#sst-a11y-root .sst-a11y__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
#sst-a11y-root .sst-a11y__title{margin:0!important;padding:0!important;font-size:17px!important;font-weight:700!important;color:#1b2235!important;background:none!important;border:0!important}
#sst-a11y-root .sst-a11y__close{appearance:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border-radius:8px!important;border:0!important;background:#eef1f4!important;color:#1b2235!important;cursor:pointer;min-width:0;min-height:0}
#sst-a11y-root .sst-a11y__grid{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:8px}
#sst-a11y-root .sst-a11y__cell{margin:0!important;padding:0!important;list-style:none!important;background:none!important;border:0!important}
#sst-a11y-root .sst-a11y__cell::before,#sst-a11y-root .sst-a11y__cell::marker{content:none!important}
#sst-a11y-root .sst-a11y__tool{appearance:none;width:100%;min-height:92px;margin:0;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px!important;border:2px solid #d8dde3!important;background:#f5f7f9!important;color:#1b2235!important;cursor:pointer;text-align:center;font-size:13px!important;font-weight:600!important;min-width:0}
#sst-a11y-root .sst-a11y__tool:hover{border-color:var(--sst-a11y-accent)!important}
#sst-a11y-root .sst-a11y__tool[aria-pressed="true"]{background:var(--sst-a11y-accent)!important;border-color:var(--sst-a11y-accent)!important;color:#fff!important}
#sst-a11y-root .sst-a11y__tool[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
#sst-a11y-root .sst-a11y__ticon{width:26px;height:26px}
#sst-a11y-root .sst-a11y__name{display:block;font-size:13px!important;font-weight:600!important;color:inherit!important}
#sst-a11y-root .sst-a11y__state{display:block;font-size:12px!important;font-weight:400!important;color:inherit!important;opacity:.85}
#sst-a11y-root .sst-a11y__dots{display:flex;gap:4px;margin-top:2px}
#sst-a11y-root .sst-a11y__dot{width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;display:block}
#sst-a11y-root .sst-a11y__dot.is-on{background:currentColor}
#sst-a11y-root .sst-a11y__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 0}
#sst-a11y-root .sst-a11y__reset{appearance:none;display:inline-flex;align-items:center;gap:6px;margin:0;padding:9px 14px;min-height:44px;border-radius:8px!important;border:2px solid var(--sst-a11y-accent)!important;background:#fff!important;color:var(--sst-a11y-accent)!important;font-size:14px!important;font-weight:600!important;cursor:pointer}
#sst-a11y-root .sst-a11y__reset svg{width:18px;height:18px}
#sst-a11y-root .sst-a11y__link{color:#1b2235!important;text-decoration:underline!important;font-size:13px!important;background:none!important;padding:4px 0!important}
#sst-a11y-root .sst-a11y__note{margin:10px 0 0!important;padding:0!important;font-size:12px!important;color:#4a5260!important;background:none!important}
#sst-a11y-root .sst-a11y__sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:480px){
	#sst-a11y-root{bottom:calc(12px + var(--sst-a11y-lift))}
	#sst-a11y-root.sst-a11y--right{right:12px}
	#sst-a11y-root.sst-a11y--left{left:12px}
	#sst-a11y-root .sst-a11y__trigger{width:var(--sst-a11y-size-m,50px);height:var(--sst-a11y-size-m,50px)}
	#sst-a11y-root .sst-a11y__trigger svg{width:calc(var(--sst-a11y-size-m,50px) * .54);height:calc(var(--sst-a11y-size-m,50px) * .54)}
	#sst-a11y-root .sst-a11y__panel{position:fixed;left:8px!important;right:8px!important;bottom:calc(22px + var(--sst-a11y-size-m,50px) + var(--sst-a11y-lift));width:auto;max-width:none;max-height:calc(100vh - 90px - var(--sst-a11y-lift))}
}
@media (prefers-reduced-motion:no-preference){#sst-a11y-root .sst-a11y__panel{animation:sst-a11y-in .18s ease-out}}
@keyframes sst-a11y-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Skip link (baseline fix) */
.sst-skip-link{position:absolute!important;left:12px!important;top:-200px!important;z-index:2147483646!important;padding:12px 18px!important;background:#1b2235!important;color:#fff!important;font:600 16px/1.2 system-ui,Arial,sans-serif!important;border-radius:0 0 8px 8px!important;text-decoration:underline!important}
.sst-skip-link:focus{top:0!important;outline:3px solid #ffbf47!important}

/* ---------- Visitor display modes (site content only, never the widget) ---------- */
/* Content scaling */
html.sst-a11y-zoom1 body>:not(#sst-a11y-root):not(#sst-banner):not(.sst-skip-link){zoom:1.1}
html.sst-a11y-zoom2 body>:not(#sst-a11y-root):not(#sst-banner):not(.sst-skip-link){zoom:1.2}
html.sst-a11y-zoom3 body>:not(#sst-a11y-root):not(#sst-banner):not(.sst-skip-link){zoom:1.3}

/* Contrast: dark */
html.sst-a11y-c1,html.sst-a11y-c1 body{background:#000!important}
html.sst-a11y-c1 body>:not(#sst-a11y-root):not(#sst-banner):not(.sst-skip-link),html.sst-a11y-c1 body>:not(#sst-a11y-root) :not(img):not(video):not(svg):not(svg *):not(iframe){background-color:#000!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important}
html.sst-a11y-c1 body>:not(#sst-a11y-root) a,html.sst-a11y-c1 body>:not(#sst-a11y-root) a *{color:#ffeb3b!important}
html.sst-a11y-c1 body>:not(#sst-a11y-root) :is(button,input,select,textarea){border:2px solid #fff!important}
/* Contrast: light */
html.sst-a11y-c2,html.sst-a11y-c2 body{background:#fff!important}
html.sst-a11y-c2 body>:not(#sst-a11y-root):not(#sst-banner):not(.sst-skip-link),html.sst-a11y-c2 body>:not(#sst-a11y-root) :not(img):not(video):not(svg):not(svg *):not(iframe){background-color:#fff!important;color:#000!important;border-color:#000!important;text-shadow:none!important;box-shadow:none!important}
html.sst-a11y-c2 body>:not(#sst-a11y-root) a,html.sst-a11y-c2 body>:not(#sst-a11y-root) a *{color:#0b3cc1!important}
html.sst-a11y-c2 body>:not(#sst-a11y-root) :is(button,input,select,textarea){border:2px solid #000!important}
/* Contrast: grayscale (on the root element so fixed headers keep working) */
html.sst-a11y-c3{filter:grayscale(1)!important}

/* Highlight links */
html.sst-a11y-links body>:not(#sst-a11y-root) a{text-decoration:underline!important;text-underline-offset:3px!important;outline:2px solid #e8a400!important;outline-offset:1px!important;background-color:#fff3a6!important;color:#000!important}
html.sst-a11y-links body>:not(#sst-a11y-root) a *{color:#000!important}
html.sst-a11y-links body>:not(#sst-a11y-root) :is(button,[role="button"],input[type="submit"],input[type="button"]){outline:3px solid #e8a400!important;outline-offset:2px!important}

/* Readable font and dyslexia font (icon fonts are left alone) */
html.sst-a11y-font body>:not(#sst-a11y-root) :is(p,li,a,span,h1,h2,h3,h4,h5,h6,td,th,label,button,input,select,textarea,blockquote,dt,dd,figcaption,strong,em,b,small,cite,q,legend,summary,div,font,caption):not([class*="icon"]):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.dashicons):not([class*="glyph"]){font-family:Verdana,Tahoma,"Segoe UI",Arial,sans-serif!important}
html.sst-a11y-dyslexia body>:not(#sst-a11y-root) :is(p,li,a,span,h1,h2,h3,h4,h5,h6,td,th,label,button,input,select,textarea,blockquote,dt,dd,figcaption,strong,em,b,small,cite,q,legend,summary,div,font,caption):not([class*="icon"]):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.dashicons):not([class*="glyph"]){font-family:"SST OpenDyslexic",Verdana,Arial,sans-serif!important}

/* Text spacing (level 1 matches WCAG 1.4.12 test values) */
html.sst-a11y-sp1 body>:not(#sst-a11y-root) :is(p,li,a,span,h1,h2,h3,h4,h5,h6,td,th,label,button,blockquote,dt,dd,figcaption,strong,em,b,small,cite,q,div,font,caption){letter-spacing:.12em!important;word-spacing:.16em!important}
html.sst-a11y-sp2 body>:not(#sst-a11y-root) :is(p,li,a,span,h1,h2,h3,h4,h5,h6,td,th,label,button,blockquote,dt,dd,figcaption,strong,em,b,small,cite,q,div,font,caption){letter-spacing:.2em!important;word-spacing:.3em!important}

/* Line height */
html.sst-a11y-lh1 body>:not(#sst-a11y-root) :is(p,li,a,span,h1,h2,h3,h4,h5,h6,td,th,label,blockquote,dt,dd,figcaption,strong,em,b,small,cite,q,div,font,caption){line-height:1.5!important}
html.sst-a11y-lh2 body>:not(#sst-a11y-root) :is(p,li,a,span,h1,h2,h3,h4,h5,h6,td,th,label,blockquote,dt,dd,figcaption,strong,em,b,small,cite,q,div,font,caption){line-height:1.8!important}
html.sst-a11y-lh3 body>:not(#sst-a11y-root) :is(p,li,a,span,h1,h2,h3,h4,h5,h6,td,th,label,blockquote,dt,dd,figcaption,strong,em,b,small,cite,q,div,font,caption){line-height:2!important}

/* Pause animations: everything jumps to its final state, nothing moves */
html.sst-a11y-pause *,html.sst-a11y-pause *::before,html.sst-a11y-pause *::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
html.sst-a11y-pause marquee{display:none!important}

/* Read aloud: show what is being read */
html.sst-a11y-read body>:not(#sst-a11y-root) :is(p,li,h1,h2,h3,h4,h5,h6,td,th,blockquote,figcaption,dd,dt,label,button,a,summary,caption,img):hover{cursor:help}
.sst-a11y-speaking{outline:3px dashed #1a73e8!important;outline-offset:3px!important}
