@font-face {
  font-family: "OAH Accessibility Montserrat";
  src: url("/assets/fonts/montserrat-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
/* First-party reading preferences. Browser zoom and forced colors stay in control. */
:root {
  --a11y-paper: #ffffff;
  --a11y-surface: #f1f7fd;
  --a11y-ink: #172b3d;
  --a11y-muted: #4a5568;
  --a11y-line: #97afc4;
  --a11y-link: #164f82;
  --a11y-control-action: var(--deep-blue);
  --a11y-control-on-action: #fff;
  --a11y-control-accent: var(--deep-blue);
  --a11y-control-line: #767676;
  --a11y-control-paper: #fff;
  --a11y-control-dim: #f1f1f1;
  --a11y-control-ink: #2c2c2c;
  --a11y-control-muted: #5c5650;
  --a11y-control-caption: #756e67;
  --a11y-control-font: "OAH Accessibility Montserrat", sans-serif;
  --a11y-control-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
html[data-a11y-text="medium112"] { font-size: 112.5%; }
html[data-a11y-text="medium137"] { font-size: 137.5%; }
html[data-a11y-text="medium162"] { font-size: 162.5%; }
html[data-a11y-text="medium187"] { font-size: 187.5%; }
html[data-a11y-text="large"] { font-size: 125%; }
html[data-a11y-text="larger"] { font-size: 150%; }
html[data-a11y-text="largest"] { font-size: 175%; }
html[data-a11y-text="double"] { font-size: 200%; }
html[data-a11y-spacing="roomy"] body { letter-spacing: 0.12em; word-spacing: 0.16em; }
html[data-a11y-spacing="roomy"] :is(p, li, dd, dt, summary, label, button, select, a) { line-height: 1.65; }
html[data-a11y-spacing="roomy"] :is(h1, h2, h3, h4) { line-height: 1.4; letter-spacing: 0.08em; }
html[data-a11y-spacing="roomy"] p { margin-bottom: 2em; }
html[data-a11y-links="on"] a { text-decoration-line: underline !important; text-decoration-thickness: 0.15em; text-underline-offset: 0.2em; font-weight: 750; }
html[data-a11y-motion="reduce"] *, html[data-a11y-motion="reduce"] *::before, html[data-a11y-motion="reduce"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html[data-a11y-motion="reduce"] .hero__video { display: none; }
html[data-a11y-motion="reduce"] .hero__motion-control { visibility: hidden; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .site-header { position: relative; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .policy-toc { position: static; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .site-header__inner { display: flex; flex-wrap: wrap; gap: 0.75rem; padding-block: 1rem; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .wordmark { min-width: 0; max-width: 100%; white-space: normal; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .wordmark__copy { min-width: 0; overflow-wrap: anywhere; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .desktop-nav { display: none; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .mobile-nav { display: block; flex-basis: 100%; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .mobile-nav summary { position: static; width: fit-content; margin-left: auto; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .mobile-nav__panel { position: static; width: 100%; max-height: none; margin-top: 0.75rem; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) :is(main, .site-footer) { overflow-wrap: anywhere; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) main :where(section, article, aside, nav, div, details, figure) { min-width: 0; }

/* Quick actions scroll normally; the brand header alone can remain sticky. */
.site-chrome { display: contents; }
html[data-a11y-text="default"] { scroll-padding-top: 7rem; }
.site-chrome .site-header { position: relative; }
html[data-a11y-text="default"] .site-chrome .site-header { position: sticky; }

.a11y-toolbar { position: relative; z-index: 101; border-bottom: 1px solid var(--line); background: var(--a11y-surface); color: var(--a11y-ink); }
.a11y-toolbar[hidden], [data-a11y-open][hidden] { display: none; }
.a11y-toolbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.5rem; padding-block: 0.5rem; }
.a11y-toolbar__caption { margin: 0 auto 0 0; font-size: 0.875rem; font-weight: 700; color: var(--a11y-ink); }
.a11y-tool { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.5rem; min-width: 2.75rem; min-height: 2.75rem; max-width: 100%; padding: 0.5rem 0.75rem; margin: 0; border: 1px solid var(--a11y-line); border-radius: 0.8rem; background: var(--a11y-paper); color: var(--a11y-control-accent); font-family: inherit; font-weight: 600; line-height: 1.5; cursor: pointer; overflow-wrap: anywhere; }
.a11y-tool:hover { background: var(--a11y-control-dim); border-color: var(--a11y-control-accent); }
.a11y-tool:is([aria-pressed="true"], [aria-expanded="true"]) { background: #a6e3ed; border-color: var(--a11y-control-accent); color: #0d2c43; }
.a11y-tool:disabled { opacity: 0.4; cursor: not-allowed; }
.a11y-tool__label { font-family: inherit; font-size: 0.875rem; font-weight: 600; line-height: 1.35; }
#a11y-listen { padding-block: 0.375rem; }
.a11y-tool--more { border-color: transparent; background: transparent; color: var(--a11y-link); text-decoration: underline; text-underline-offset: 0.2em; }
.a11y-tool__type { font-family: var(--a11y-control-font); font-size: 0.875rem; font-weight: 700; line-height: 1; letter-spacing: normal; }
.a11y-tool__type > :first-child { font-size: 14px; }
.a11y-tool__type > :last-child { font-size: 10px; }
.a11y-tool__play { display: inline-block; width: 0; height: 0; border-top: 0.375rem solid transparent; border-bottom: 0.375rem solid transparent; border-left: 0.625rem solid currentColor; font-size: 0; }
.a11y-tool__more { display: none; }
.a11y-tool__theme, .a11y-tool__contrast { display: inline-block; flex: 0 0 auto; width: 1rem; height: 1rem; border: 1.2px solid currentColor; border-radius: 50%; }
.a11y-tool__theme { box-shadow: inset 0.3rem -0.05rem 0 currentColor; }
.a11y-tool__contrast { background: linear-gradient(90deg, currentColor 50%, transparent 50%); }
.a11y-text-control { position: relative; display: flex; flex-direction: column; align-items: flex-end; width: 100%; min-width: 0; max-width: 100%; }
.a11y-text-panel { z-index: 102; width: 100%; max-width: 100%; margin-top: 0.5rem; padding: 0.5rem; border: 1px solid var(--a11y-control-line); border-radius: 0.5rem; background: var(--a11y-control-paper); color: var(--a11y-control-ink); font-family: var(--a11y-control-font); box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a; }
.a11y-text-panel[hidden] { display: none; }
.a11y-text-panel__caption { margin-bottom: 0.75rem; font-family: var(--a11y-control-mono); font-size: 10px; line-height: 15px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.22em; color: var(--a11y-control-caption); }
.a11y-text-panel__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 0.5rem; }
.a11y-text-panel__value { grid-column: 1 / -1; font-size: 1.5rem; font-weight: 800; line-height: 2rem; text-align: center; font-variant-numeric: tabular-nums; }
.a11y-text-step, .a11y-text-reset { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-width: 44px; min-height: 2.75rem; padding: 0; border: 1px solid var(--a11y-control-line); border-radius: 0.375rem; background: transparent; color: var(--a11y-control-muted); font-family: var(--a11y-control-font); cursor: pointer; }
.a11y-text-step:hover, .a11y-text-reset:hover { background: var(--a11y-control-dim); color: var(--a11y-control-ink); }
.a11y-text-step:disabled { opacity: 0.4; cursor: not-allowed; }
.a11y-text-step__smaller { font-size: 0.75rem; font-weight: 700; line-height: 1rem; }
.a11y-text-step__larger { font-size: 1.25rem; font-weight: 700; line-height: 1.75rem; }
.a11y-text-reset { margin-top: 0.75rem; padding: 0.375rem 0.5rem; font-family: var(--a11y-control-mono); font-size: 0.75rem; line-height: 1rem; font-weight: 400; text-transform: uppercase; letter-spacing: 0.22em; }
.a11y-toolbar button:focus-visible, .a11y-floating-toggle:focus-visible { outline: 3px solid var(--a11y-control-accent); outline-offset: 3px; }
/* Lucide accessibility icon, ISC License.
Copyright (c) 2026 Lucide Icons and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
.a11y-floating-toggle { position: fixed; left: max(1rem, env(safe-area-inset-left)); bottom: calc(var(--a11y-player-clearance, 0px) + 1rem + env(safe-area-inset-bottom)); z-index: 210; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; padding: 0; border: 2px solid #83a4bf; border-radius: 50%; background: var(--deep-blue); color: #fff; box-shadow: 0 5px 18px #0e274033; cursor: pointer; }
.a11y-floating-toggle:hover { background: var(--deep-blue-light); }
.a11y-floating-toggle svg { display: block; flex: 0 0 auto; }
.a11y-floating-toggle:focus-visible { outline: 3px solid var(--a11y-link); outline-offset: 3px; }
@media (min-width: 40rem) {
  .a11y-toolbar__inner { gap: 0.5rem; }
  .a11y-text-control { width: auto; }
  .a11y-text-panel { position: absolute; right: 0; top: calc(100% + 8px); width: 14rem; max-width: calc(100vw - 2rem); margin-top: 0; padding: 0.75rem; }
}
@media (max-width: 39.999rem) {
  .a11y-toolbar__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, max(8.5rem, calc((100% - 0.5rem) / 2))), 1fr)); gap: 0.5rem; padding-block: 0.5rem; }
  .a11y-toolbar__caption { grid-column: 1 / -1; }
  .a11y-toolbar__inner > .a11y-tool, .a11y-text-toggle { width: 100%; }
  .a11y-text-control { width: auto; align-items: stretch; }
  .a11y-text-control:has([aria-expanded="true"]) { grid-column: 1 / -1; }
  .a11y-toolbar__inner > .a11y-tool--more { grid-column: 1 / -1; width: auto; justify-self: end; }
}
@media (max-width: 47.5rem) {
  .site-header__inner { gap: 0.5rem; padding-block: 0.75rem; }
  .site-chrome .site-header .mobile-nav:not([open]) { flex-basis: auto; }
}
html[data-a11y-text="default"] .site-chrome:has(.mobile-nav[open]) .site-header,
html[data-a11y-text="default"] .site-chrome:has(#a11y-text-toggle[aria-expanded="true"]) .site-header { position: relative; }
html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .site-chrome .site-header { position: relative; }
@media (max-height: 44rem) {
  html[data-a11y-text="default"] .site-chrome .site-header { position: relative; }
  html[data-a11y-text="default"] { scroll-padding-top: 1rem; }
}
html[data-a11y-text] :is(a, button, summary, input, select, [tabindex]) { scroll-margin-block: 7rem; }
.a11y-dialog {
  position: fixed; inset: auto auto calc(var(--a11y-player-clearance, 0px) + 56px + 1.5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); margin: 0;
  width: min(25rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: min(75dvh, calc(100dvh - var(--a11y-player-clearance, 0px) - 56px - 2.5rem - env(safe-area-inset-bottom))); overflow-y: auto; overscroll-behavior: contain;
  padding: 1.5rem; border: 1px solid var(--a11y-line); border-radius: 1.25rem;
  background: var(--a11y-paper); color: var(--a11y-ink); box-shadow: 0 24px 80px #0a19294d;
}
.a11y-dialog:not([open]) { display: none; }
.a11y-dialog::backdrop { background: transparent; }
.a11y-dialog__header { display: flex; align-items: flex-start; gap: 1rem; justify-content: space-between; }
.a11y-eyebrow { color: var(--a11y-muted); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.5rem; }
.a11y-dialog h2 { color: inherit; font-size: 1.55rem; line-height: 1.25; letter-spacing: -0.02em; margin-bottom: 0.8rem; }
.a11y-intro { font-size: 0.95rem; color: var(--a11y-muted); }
.a11y-group { min-width: 0; margin: 1.25rem 0; padding: 1rem; border: 1px solid var(--a11y-line); border-radius: 0.75rem; }
.a11y-group legend { padding-inline: 0.4rem; font-weight: 750; }
.a11y-dialog label { display: block; margin-bottom: 0.45rem; font-size: 0.9rem; font-weight: 650; }
.a11y-dialog select { display: block; width: 100%; min-width: 0; min-height: 2.75rem; margin-bottom: 1rem; padding: 0.55rem; border: 1px solid var(--a11y-line); border-radius: 0.4rem; background: var(--a11y-paper); color: var(--a11y-ink); font: inherit; font-size: 0.95rem; }
.a11y-dialog .a11y-check { display: flex; align-items: flex-start; gap: 0.65rem; min-height: 2.75rem; margin: 0; padding-block: 0.5rem; cursor: pointer; }
.a11y-check input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin: 0.1rem 0 0; accent-color: var(--a11y-link); }
.a11y-check span { min-width: 0; overflow-wrap: anywhere; }
.a11y-dialog button { min-height: 2.75rem; padding: 0.6rem 0.85rem; border: 1px solid var(--a11y-line); border-radius: 0.45rem; background: var(--a11y-paper); color: var(--a11y-ink); font: inherit; font-size: 0.9rem; font-weight: 650; cursor: pointer; }
.a11y-dialog .a11y-close { flex: 0 0 auto; }
.a11y-dialog .a11y-primary { background: var(--a11y-ink); color: var(--a11y-paper); border-color: var(--a11y-ink); }
.a11y-dialog button:disabled { cursor: default; opacity: 0.55; }
.a11y-dialog .a11y-text-panel { position: static; width: 100%; margin-top: 0; }
.a11y-dialog .a11y-text-step { padding: 0; }
.a11y-dialog .a11y-dialog__appearance-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0.5rem; margin-top: 1rem; }
.a11y-dialog .a11y-tool[aria-pressed="true"] { background: #a6e3ed; color: #0d2c43; border-color: var(--a11y-control-accent); }
.a11y-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.a11y-help { margin: 0 0 0.75rem; font-size: 0.8rem; line-height: 1.6; color: var(--a11y-muted); }
.a11y-speech-status { margin-block: 0.8rem 0; }
.a11y-status { min-height: 1.6em; margin-block: 0.75rem; color: var(--a11y-muted); font-size: 0.8rem; }
.a11y-dialog__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding-top: 1rem; border-top: 1px solid var(--a11y-line); }
.a11y-dialog a { color: var(--a11y-link); font-size: 0.9rem; }
.a11y-dialog :is(button, select, input, a, [tabindex]):focus-visible { outline: 3px solid var(--a11y-link); outline-offset: 3px; box-shadow: 0 0 0 6px var(--a11y-paper); }

/* Both optional palettes prioritize text; meaningful content photos stay visible. */
html[data-a11y-theme="dark"] { color-scheme: dark; --a11y-paper: #101e2c; --a11y-surface: #1b3043; --a11y-ink: #f4f8fc; --a11y-muted: #c6d6e5; --a11y-line: #849eb6; --a11y-link: #a1daff; }
html[data-a11y-theme="default"][data-a11y-contrast="on"] { color-scheme: light; --a11y-paper: #ffffff; --a11y-surface: #ffffff; --a11y-ink: #000000; --a11y-muted: #000000; --a11y-line: #000000; --a11y-link: #003a76; }
html[data-a11y-theme="dark"][data-a11y-contrast="on"] { color-scheme: dark; --a11y-paper: #000000; --a11y-surface: #000000; --a11y-ink: #ffffff; --a11y-muted: #ffffff; --a11y-line: #ffffff; --a11y-link: #ffff00; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) body { background: var(--a11y-paper); color: var(--a11y-ink); }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) :is(main, .site-header, .site-footer, .review-banner, .skip-link) { background: var(--a11y-paper) !important; color: var(--a11y-ink) !important; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) :is(main, .site-header, .site-footer) :where(*) { color: inherit !important; border-color: var(--a11y-line) !important; box-shadow: none !important; text-shadow: none !important; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) :is(main section, main article, main aside, main figure, main blockquote, main table, main thead, main tbody, main tr, main th, main td, main details, .mobile-nav__panel, .cta-panel, .cta-link, .hero__motion-control, .card-number, .journey-number, .review-tag, .pending-label, .review-copy, .visual-placeholder, .notice, .safety-note, .status-grid, .status-tile, .journey-step, .services-nav, .service-option__art, .service-compare, .service-compare__toggle, .about-nav, .about-milestone h3, .about-founder, .about-team-list, .about-metric, .support-path-badge, .status-panel, .contact-panel, .contact-status, .faq-audiences a, .faq-search input, .faq-search__clear, .policy-meta, .policy-toc, .standards-panel) { background: var(--a11y-surface) !important; color: var(--a11y-ink) !important; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) :is(main a, .site-header a, .site-footer a, .skip-link) { color: var(--a11y-link) !important; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) :is(.value-item, .faq-preview__links a, .services-nav a:hover, .about-nav a:hover) { background: var(--a11y-surface) !important; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) :is(.hero__background, .hero__shape, .hero__motion-control, .hero--background::after, .value-item::before, .value-item::after) { display: none !important; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) .menu-lines,
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) .menu-lines::before,
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) .menu-lines::after { background: var(--a11y-ink); }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) .faq-audiences a.is-active { outline: 2px solid var(--a11y-link); outline-offset: -3px; text-decoration: underline; }
html:is([data-a11y-theme="dark"], [data-a11y-contrast="on"]) :is(main, .site-header, .site-footer) :focus-visible { outline: 3px solid var(--a11y-link) !important; outline-offset: 3px; }
@media (max-width: 38rem) {
  .a11y-dialog { padding: 0.75rem; }
  .a11y-group { padding: 0.5rem; }
  .a11y-dialog__header { flex-wrap: wrap; }
  html[data-a11y-text] .container { width: calc(100% - 2rem); }
  html[data-a11y-spacing="roomy"] .wordmark { white-space: normal; }
  html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .service-compare summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .service-compare summary > img { grid-column: 1; }
  html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .service-compare summary > span:not(.service-compare__toggle) { grid-column: 1; min-width: 0; overflow-wrap: anywhere; }
  html:is([data-a11y-text]:not([data-a11y-text="default"]), [data-a11y-spacing="roomy"]) .service-compare__toggle { grid-column: 2; grid-row: 1 / 3; }
}
@supports not selector(:has(*)) {
  @media (max-width: 47.5rem) { html[data-a11y-text="default"] .site-chrome .site-header { position: relative; } }
}
html[data-a11y-theme="dark"] { --a11y-control-accent: var(--accent-light); --a11y-control-paper: #1a1a1a; --a11y-control-dim: #111; --a11y-control-ink: #f5efe8; --a11y-control-muted: #ddd2c7; --a11y-control-caption: #ddd2c7; --a11y-control-line: #a89e94; }
html[data-a11y-theme="default"][data-a11y-contrast="on"] { --a11y-control-line: #303030; --a11y-control-caption: #111; }
html[data-a11y-theme="dark"][data-a11y-contrast="on"] { --a11y-control-line: #fff; --a11y-control-caption: #fff; }
@media (forced-colors: active) {
  html[data-a11y-theme][data-a11y-contrast] { --a11y-control-action: Highlight; --a11y-control-on-action: HighlightText; --a11y-control-accent: LinkText; --a11y-control-paper: Canvas; --a11y-control-dim: Canvas; --a11y-control-ink: CanvasText; --a11y-control-muted: CanvasText; --a11y-control-caption: CanvasText; --a11y-control-line: ButtonText; }
  :root { --a11y-paper: Canvas; --a11y-surface: Canvas; --a11y-ink: CanvasText; --a11y-muted: CanvasText; --a11y-line: ButtonText; --a11y-link: LinkText; }
  html[data-a11y-theme][data-a11y-contrast] { color-scheme: light dark; --a11y-paper: Canvas; --a11y-surface: Canvas; --a11y-ink: CanvasText; --a11y-muted: CanvasText; --a11y-line: ButtonText; --a11y-link: LinkText; }
  .a11y-tool, .a11y-dialog, .a11y-dialog button { box-shadow: none; border: 2px solid ButtonText; }
  .a11y-tool:is([aria-pressed="true"], [aria-expanded="true"]), .a11y-dialog .a11y-tool[aria-pressed="true"] { background: Highlight; color: HighlightText; }
}
@media print {
  html[data-a11y-text="default"] .site-chrome .site-header { position: static; }
  .a11y-toolbar, .a11y-dialog, .a11y-floating-toggle { display: none !important; }
}

/* The player floats independently of the footer and opens only on Listen. */
.oah-audio-player {
  --audio-paper: #0e2740;
  --audio-ink: #ffffff;
  --audio-muted: #d2e2ef;
  --audio-line: #83a4bf;
  --audio-accent: #a4e3ef;
  position: fixed;
  inset: auto 0 0;
  z-index: 200;
  max-height: 45dvh;
  overflow-y: auto;
  padding: 0.5rem 0 calc(0.5rem + env(safe-area-inset-bottom));
  border-top: 2px solid var(--audio-accent);
  background: var(--audio-paper);
  color: var(--audio-ink);
  box-shadow: 0 -0.4rem 1.5rem #0e274026;
  font-family: var(--a11y-control-font);
}
.oah-audio-player[hidden] { display: none; }
.oah-audio-player__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.8rem; }
.oah-audio-player :is(button, select) { min-height: 44px; min-width: 44px; max-width: 100%; padding: 0.35rem 0.5rem; margin: 0; border: 1px solid var(--audio-line); border-radius: 999px; background: var(--audio-paper); color: var(--audio-ink); font: inherit; font-size: 0.85rem; line-height: 1.5; cursor: pointer; }
.oah-audio-player button { display: inline-flex; justify-content: center; align-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; }
.oah-audio-player .oah-audio-player__play { background: var(--audio-accent); color: var(--audio-paper); border-color: var(--audio-accent); }
.oah-audio-player__play-icon { display: block; width: 0; height: 0; margin-left: 3px; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid currentColor; }
.oah-audio-player__play[aria-pressed="true"] .oah-audio-player__play-icon { width: 11px; height: 14px; margin-left: 0; border: 0; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.oah-audio-player .oah-audio-player__close { border-color: transparent; border-radius: 50%; font-size: 1.5rem; }
.oah-audio-player button:hover:not(:disabled) { box-shadow: inset 0 0 0 1px currentColor; }
.oah-audio-player :is(button, select, input):disabled { opacity: 0.55; cursor: default; }
.oah-audio-player__rates { display: inline-flex; flex: 0 1 auto; align-items: center; gap: 2px; max-width: 100%; min-width: 0; margin: 0; padding: 3px; border: 1px solid var(--audio-line); border-radius: 999px; background: var(--audio-paper); }
.oah-audio-player__rates label { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0.25rem 0.3rem; border: 1px solid transparent; border-radius: 999px; font-size: 0.75rem; line-height: 1.3; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--audio-muted); cursor: pointer; }
.oah-audio-player__rates input:checked + label { background: var(--audio-accent); color: var(--audio-paper); border-color: var(--audio-accent); box-shadow: 0 1px 4px #0003; }
.oah-audio-player__rates input:not(:checked):not(:disabled) + label:hover { color: var(--audio-ink); border-color: var(--audio-line); }
.oah-audio-player__rates input:focus-visible + label { outline: 3px solid var(--audio-accent); outline-offset: 3px; }
.oah-audio-player__rates input:disabled + label { opacity: 0.55; cursor: default; }
.oah-audio-player__track { flex: 1 1 10rem; min-width: 0; }
.oah-audio-player__chapter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0 0.7rem; }
.oah-audio-player__chapter-row select { flex: 1 1 10rem; min-width: 0; width: 100%; border-color: transparent; border-radius: 0.25rem; padding-left: 0; }
.oah-audio-player__time { flex: 0 0 auto; color: var(--audio-muted); font-size: 0.75rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.oah-audio-player input[type="range"] { display: block; width: 100%; min-width: 0; height: 24px; margin: 0; accent-color: var(--audio-accent); cursor: pointer; }
.oah-audio-player :is(button, select, input):focus-visible { outline: 3px solid var(--audio-accent); outline-offset: 3px; }
html:has(.oah-audio-player:not([hidden])) { scroll-padding-bottom: calc(min(45dvh, 12rem) + 1rem); }
body:has(.oah-audio-player:not([hidden])) { padding-bottom: calc(min(45dvh, 12rem) + 1rem); }
body:has(.oah-audio-player:not([hidden])) :focus { scroll-margin-bottom: calc(45dvh + 1rem); }
html[data-a11y-contrast="on"] .oah-audio-player { --audio-paper: #000; --audio-ink: #fff; --audio-muted: #fff; --audio-line: #fff; --audio-accent: #fff; box-shadow: none; }
@media (max-width: 40rem) {
  .oah-audio-player__inner { column-gap: 0.5rem; }
  .oah-audio-player__track { flex-basis: calc(100% - 44px - 0.5rem); }
  .oah-audio-player__rates { margin-left: auto; }
}
@media (forced-colors: active) {
  .oah-audio-player { --audio-paper: Canvas; --audio-ink: CanvasText; --audio-muted: CanvasText; --audio-line: ButtonText; --audio-accent: Highlight; box-shadow: none; }
  .oah-audio-player .oah-audio-player__play { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .oah-audio-player__rates input:checked + label { background: Highlight; color: HighlightText; border-color: Highlight; box-shadow: none; }
}
@media print { .oah-audio-player { display: none; } body:has(.oah-audio-player:not([hidden])) { padding-bottom: 0; } }

/* Reserve room for keyboard targets and footer links beside the floating icon. */
html:has(.a11y-floating-toggle:not([hidden])) { scroll-padding-bottom: calc(var(--a11y-player-clearance, 0px) + 88px + env(safe-area-inset-bottom)); }
body:has(.a11y-floating-toggle:not([hidden])) { padding-bottom: calc(var(--a11y-player-clearance, 0px) + 88px + env(safe-area-inset-bottom)); }
body:has(.a11y-floating-toggle:not([hidden])) :focus { scroll-margin-bottom: 1rem; }
@media (forced-colors: active) {
  .a11y-floating-toggle { background: ButtonFace; color: ButtonText; border-color: ButtonText; box-shadow: none; }
}
@media print {
  body:has(.a11y-floating-toggle:not([hidden])) { padding-bottom: 0; }
}
