/* 1-800 Office Solutions accessibility layer (WCAG 2.1 AA), 2026-10-15.
   Loaded on every page. Pair: os-a11y.js. Reversible: remove the two tags. */

/* Skip link: hidden until a keyboard user tabs to it */
.os-skip{position:absolute;left:-9999px;top:8px;z-index:2147483646;padding:10px 16px;background:#0B1220;color:#fff!important;font:700 16px/1.2 Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;border-radius:8px;text-decoration:none}
.os-skip:focus{left:8px;outline:3px solid #F59E0B;outline-offset:2px}

/* Visible keyboard focus on every control */
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid #0E6FA8!important;outline-offset:2px!important;box-shadow:0 0 0 5px #fff!important}

/* Links inside running text must not rely on colour alone */
:where(main,article,.article-body,.prose,.entry-content) :where(p,li,td) > a:not([class]){text-decoration:underline;text-underline-offset:2px}
p.sla-note a,#pricing p > a{text-decoration:underline;text-underline-offset:2px}

/* Tap targets: header phone link was 20px tall */
.nav-actions a[href^="tel"],.site-header a[href^="tel"]{display:inline-flex;align-items:center;min-height:24px}

/* Respect the visitor's reduced-motion setting */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Visitor accessibility button and panel (in-house, not an overlay) */
.os-acc-btn{position:fixed;z-index:2147482990;left:18px;bottom:18px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;padding:0;cursor:pointer;background:#0E6FA8;color:#fff;border:2px solid #fff;box-shadow:0 10px 26px rgba(11,18,32,.35)}
.os-acc-btn[hidden],.os-acc-panel[hidden]{display:none!important}
@media (hover:hover){.os-acc-btn:hover{background:#0B5A88}}
.os-acc-panel{position:fixed;z-index:2147483001;left:18px;bottom:80px;width:min(360px,calc(100vw - 36px));box-sizing:border-box;padding:20px 20px 14px;background:#0B1220;color:#fff;border:1px solid rgba(125,211,252,.45);border-radius:14px;box-shadow:0 18px 50px rgba(11,18,32,.45);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;text-align:left}
.os-acc-h{margin:0 0 12px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#7DD3FC}
.os-acc-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.os-acc-opts button{min-height:46px;padding:8px 10px;font:inherit;font-size:15px;line-height:1.2;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:10px;cursor:pointer;text-align:center}
.os-acc-opts button[aria-pressed="true"]{background:#7DD3FC;color:#0B1220;border-color:#7DD3FC;font-weight:700}
.os-acc-opts .os-acc-reset{grid-column:1/-1}
.os-acc-s{margin:12px 0 4px;font-size:14px;line-height:1.5;color:#E6EDF3}
.os-acc-s a{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.os-acc-close{display:block;margin-left:auto;min-height:44px;padding:0 6px;background:none;border:0;color:#7DD3FC;font:inherit;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.os-acc-btn:focus-visible,.os-acc-panel button:focus-visible,.os-acc-panel a:focus-visible{outline:3px solid #7DD3FC!important;outline-offset:3px!important;box-shadow:none!important}
@media (max-width:767px){
  .os-acc-btn{left:10px;width:46px;height:46px}
  .os-acc-panel{left:10px;right:10px;width:auto;max-height:calc(100vh - 140px);overflow:auto}
}
/* The preferences apply to the page content and footer only, never the sticky header */
html.os-a11y-text :is(main,footer) :is(p,li,dd,dt,blockquote,label,figcaption,td,th){font-size:max(1em,20px)!important;line-height:1.6!important}
html.os-a11y-text :is(main,footer) :is(input,textarea,select){font-size:19px!important}
html.os-a11y-contrast :is(main,footer){filter:contrast(1.35) saturate(1.1)}
html.os-a11y-links :is(main,footer,header) a{text-decoration:underline!important;text-underline-offset:4px!important}
html.os-a11y-motion *,html.os-a11y-motion *::before,html.os-a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.os-a11y-font :is(main,footer),html.os-a11y-font :is(main,footer) *{font-family:Verdana,"Segoe UI",Arial,sans-serif!important;letter-spacing:normal!important}
.os-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}

/* Phone header "Get a quote": the phone-only rule shrinks it to 12.5px, so it takes the darker orange (5.18:1) */
@media (max-width:640px){.nav-actions .btn-primary,.nav-actions a.btn-primary{background-color:#C2410C!important;border-color:#C2410C!important;color:#fff!important}}
