:root {
    --wcag-akpro-primary: #0b57d0;
    --wcag-akpro-ink: #101828;
    --wcag-akpro-muted: #667085;
    --wcag-akpro-line: #d0d5dd;
    --wcag-akpro-soft: #f6f8fb;
    --wcag-font-scale: 1;
    --wcag-page-zoom: 1;
    --wcag-letter-level: 0;
    --wcag-word-level: 0;
    --wcag-line-level: 0;
    --wcag-paragraph-level: 0;
}

.wcag-akpro-ui, .wcag-akpro-ui * { box-sizing: border-box; }
.wcag-akpro-ui button, .wcag-akpro-ui a { font-family: Arial, Helvetica, sans-serif; }

.wcag-akpro-skip-link {
    position: fixed; left: 1rem; top: -120px; z-index: 2147483647;
    background: #000; color: #fff; padding: .8rem 1rem; border: 2px solid #fff;
    font: 700 16px/1.2 Arial, sans-serif; text-decoration: none;
}
.wcag-akpro-skip-link:focus { top: 0; color: #fff; }
.wcag-akpro-main-marker { display:block; width:1px; height:1px; overflow:hidden; }

/* TOP BAR */
.wcag-akpro-topbar {
    position: relative; z-index: 99990; width: 100%; background: #101828; color: #fff;
    border-bottom: 3px solid var(--wcag-akpro-primary); font: 600 14px/1.2 Arial, sans-serif;
}
.wcag-akpro-topbar__inner { max-width: 1440px; margin: 0 auto; padding: .45rem 1rem; display:flex; gap:.55rem; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.wcag-akpro-topbar__label { margin-right:auto; text-transform:uppercase; letter-spacing:.08em; font-size:12px; opacity:.82; }
.wcag-akpro-topbar__button, .wcag-akpro-font-buttons button, .wcag-akpro-topbar__link {
    color:#fff; background:#101828; border:1px solid #98a2b3; min-height:36px; padding:.35rem .65rem; text-decoration:none; cursor:pointer; border-radius:0;
}
.wcag-akpro-topbar__button:hover, .wcag-akpro-font-buttons button:hover, .wcag-akpro-topbar__link:hover { background:#fff; color:#101828; border-color:#fff; }
.wcag-akpro-topbar__button:focus-visible, .wcag-akpro-font-buttons button:focus-visible, .wcag-akpro-topbar__link:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.wcag-akpro-font-buttons { display:flex; align-items:stretch; gap:0; }
.wcag-akpro-font-buttons button + button { border-left:0; }
.wcag-akpro-font-buttons button:nth-child(1) { font-size:13px; }
.wcag-akpro-font-buttons button:nth-child(2) { font-size:16px; }
.wcag-akpro-font-buttons button:nth-child(3) { font-size:18px; }

/* Launcher */
.wcag-akpro-root { position: relative; z-index: 2147483000; }
.wcag-akpro-launcher {
    position: fixed; top: 42%; z-index: 2147483001; display:flex; align-items:center; gap:.55rem;
    border:2px solid #fff; background:var(--wcag-akpro-primary); color:#fff; min-height:54px; padding:.65rem .8rem;
    box-shadow:0 10px 28px rgba(16,24,40,.24); cursor:pointer; font-weight:700; font-size:15px; border-radius:0;
}
.wcag-akpro-position-right .wcag-akpro-launcher { right:0; }
.wcag-akpro-position-left .wcag-akpro-launcher { left:0; }
.wcag-akpro-launcher:hover { filter:brightness(.92); }
.wcag-akpro-launcher:focus-visible { outline:4px solid #101828; outline-offset:3px; }
.wcag-akpro-launcher__icon { width:30px; height:30px; display:grid; place-items:center; }
.wcag-akpro-launcher__icon svg { width:30px; height:30px; color:currentColor; }

/* Open panel - deliberately angular / not rounded */
.wcag-akpro-overlay { position:fixed; inset:0; z-index:2147483002; background:rgba(16,24,40,.58); }
.wcag-akpro-dialog {
    position:fixed; z-index:2147483003; top:18px; right:18px; width:min(820px,calc(100vw - 36px)); max-height:calc(100vh - 36px);
    background:#fff; color:var(--wcag-akpro-ink); border:1px solid #98a2b3; border-top:6px solid var(--wcag-akpro-primary);
    border-radius:0; box-shadow:0 24px 80px rgba(16,24,40,.34); overflow:hidden; font-family:Arial,Helvetica,sans-serif;
}
.wcag-akpro-dialog[hidden], .wcag-akpro-overlay[hidden] { display:none!important; }
.wcag-akpro-dialog__header {
    min-height:76px; padding:12px 14px 12px 18px; background:#fff; color:var(--wcag-akpro-ink); display:flex; align-items:center; justify-content:space-between;
    border-bottom:1px solid var(--wcag-akpro-line);
}
.wcag-akpro-dialog__title-wrap { display:flex; align-items:center; gap:12px; }
.wcag-akpro-dialog__brand-icon { width:44px; height:44px; display:grid; place-items:center; background:var(--wcag-akpro-primary); color:#fff; }
.wcag-akpro-dialog__brand-icon svg { width:32px; height:32px; display:block; }
.wcag-akpro-dialog__eyebrow { display:block; margin:0 0 2px; color:var(--wcag-akpro-primary); font-size:11px; line-height:1; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.wcag-akpro-dialog__header h2 { color:inherit!important; margin:0!important; padding:0!important; font:800 25px/1.08 Arial,Helvetica,sans-serif!important; }
.wcag-akpro-close { width:44px; height:44px; border:1px solid #98a2b3; border-radius:0; background:#fff; color:#101828; font-size:34px; line-height:1; cursor:pointer; padding:0 0 4px; }
.wcag-akpro-close:hover { background:#101828; color:#fff; }
.wcag-akpro-close:focus-visible { outline:4px solid var(--wcag-akpro-primary); outline-offset:2px; }
.wcag-akpro-dialog__body { padding:14px; overflow-y:auto; max-height:calc(100vh - 118px); overscroll-behavior:contain; background:#eef2f6; }
.wcag-akpro-live { 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; }

.wcag-akpro-card { background:#fff; border:1px solid var(--wcag-akpro-line); border-radius:0; padding:16px; margin:0 0 12px; box-shadow:none; }
.wcag-akpro-section-heading { display:flex; align-items:center; gap:10px; margin:0 0 14px; }
.wcag-akpro-section-heading > span { flex:0 0 auto; min-width:34px; height:25px; display:grid; place-items:center; background:#101828; color:#fff; font-size:11px; font-weight:800; letter-spacing:.08em; }
.wcag-akpro-card h3 { color:#101828!important; font:800 19px/1.2 Arial,Helvetica,sans-serif!important; margin:0!important; padding:0!important; }
.wcag-akpro-card__hint { margin:-4px 0 14px!important; color:var(--wcag-akpro-muted)!important; font-size:13px!important; }

.wcag-akpro-grid { display:grid; gap:8px; }
.wcag-akpro-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.wcag-akpro-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.wcag-akpro-tile {
    position:relative; min-height:118px; padding:18px 8px 12px; border:1px solid #c7cdd5; border-radius:0; background:#f8fafc; color:#101828;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; cursor:pointer; font-size:15px; line-height:1.18; text-align:center;
    transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}
.wcag-akpro-tile:hover { background:#fff; border-color:var(--wcag-akpro-primary); box-shadow:inset 0 -4px 0 var(--wcag-akpro-primary); transform:translateY(-1px); }
.wcag-akpro-tile:focus-visible { outline:4px solid var(--wcag-akpro-primary); outline-offset:2px; }
.wcag-akpro-tile[aria-pressed="true"] { background:#eef4ff; border-color:var(--wcag-akpro-primary); box-shadow:inset 4px 0 0 var(--wcag-akpro-primary); }
.wcag-akpro-tile__icon { width:42px; height:42px; display:grid; place-items:center; }
.wcag-akpro-tile__icon svg { width:38px; height:38px; color:currentColor; }
.wcag-akpro-tile__label { font-weight:700; }
.wcag-akpro-tile__hover {
    position:absolute; right:0; top:0; min-height:22px; padding:4px 7px; background:#101828; color:#fff;
    font-size:10px; line-height:1.2; font-weight:800; letter-spacing:.06em; text-transform:uppercase; opacity:0; transform:translateY(-4px); pointer-events:none;
    transition:opacity .14s ease, transform .14s ease;
}
.wcag-akpro-tile:hover .wcag-akpro-tile__hover, .wcag-akpro-tile:focus-visible .wcag-akpro-tile__hover { opacity:1; transform:translateY(0); }
.wcag-akpro-tile[aria-pressed="true"] .wcag-akpro-tile__hover { background:var(--wcag-akpro-primary); }

.wcag-akpro-contrast-swatch { width:52px; height:34px; border:2px solid #101828; display:block; border-radius:0; }
.wcag-akpro-contrast-swatch--black { background:linear-gradient(90deg,#fff 0 50%,#000 50%); }
.wcag-akpro-contrast-swatch--yellow { background:linear-gradient(90deg,#ffe600 0 50%,#000 50%); }
.wcag-akpro-contrast-swatch--blue { background:linear-gradient(90deg,#fff 0 50%,#003b73 50%); }

.wcag-akpro-spacing-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.wcag-akpro-stepper { border:1px solid #c7cdd5; border-radius:0; padding:9px 10px; display:flex; align-items:center; justify-content:space-between; gap:.5rem; background:#f8fafc; }
.wcag-akpro-stepper > span { font-weight:700; font-size:14px; }
.wcag-akpro-stepper > div { display:flex; align-items:center; gap:0; }
.wcag-akpro-stepper button { width:36px; height:36px; border:1px solid #98a2b3; border-radius:0; background:#fff; cursor:pointer; font-size:22px; line-height:1; }
.wcag-akpro-stepper button:hover { background:#101828; color:#fff; }
.wcag-akpro-stepper button:focus-visible { outline:3px solid var(--wcag-akpro-primary); outline-offset:2px; }
.wcag-akpro-stepper output { min-width:38px; height:36px; display:grid; place-items:center; border-top:1px solid #98a2b3; border-bottom:1px solid #98a2b3; background:#fff; font-weight:800; }
.wcag-akpro-inline-button { margin-top:10px; min-height:42px; padding:.55rem .8rem; border:2px solid var(--wcag-akpro-primary); border-radius:0; background:#fff; color:var(--wcag-akpro-primary); font-weight:800; cursor:pointer; }
.wcag-akpro-inline-button:hover { background:var(--wcag-akpro-primary); color:#fff; }
.wcag-akpro-status-line { text-align:right; margin-top:8px; font-size:13px; color:var(--wcag-akpro-muted); }

.wcag-akpro-volume { display:flex; align-items:center; justify-content:flex-end; gap:0; margin-top:10px; font-size:14px; }
.wcag-akpro-volume span { min-height:40px; display:flex; align-items:center; padding:0 12px; border-top:1px solid #98a2b3; border-bottom:1px solid #98a2b3; background:#fff; color:#101828; }
.wcag-akpro-volume button { width:42px; height:40px; border:1px solid #98a2b3; border-radius:0; background:#101828; color:#fff; font-size:24px; cursor:pointer; }
.wcag-akpro-volume button:hover { background:var(--wcag-akpro-primary); }
.wcag-akpro-volume button:focus-visible { outline:4px solid var(--wcag-akpro-primary); outline-offset:2px; }

.wcag-akpro-card--footer { display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:#101828; color:#fff; border-color:#101828; }
.wcag-akpro-card--footer small { margin-left:auto; color:#d0d5dd; }
.wcag-akpro-card--footer a { color:#fff; font-weight:700; text-decoration:underline; }
.wcag-akpro-reset { min-height:40px; padding:.5rem .75rem; border:1px solid #fff; border-radius:0; background:#101828; color:#fff; cursor:pointer; font-weight:700; display:flex; align-items:center; gap:.45rem; }
.wcag-akpro-reset:hover { background:#fff; color:#101828; }
.wcag-akpro-reset svg { width:20px; height:20px; }

.wcag-akpro-reading-guide { position:fixed; z-index:2147482998; left:0; right:0; height:64px; border-top:3px solid rgba(16,24,40,.9); border-bottom:3px solid rgba(16,24,40,.9); background:rgba(255,230,0,.12); pointer-events:none; }
body.wcag-akpro-dialog-open { overflow:hidden; }

/* User preference effects - plugin UI is deliberately excluded where possible. */
html[data-wcag-grayscale="1"] body { filter:grayscale(1); }
html[data-wcag-big-cursor="1"] body, html[data-wcag-big-cursor="1"] body * { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2 1l11 27 4-10 10-4z' fill='white' stroke='black' stroke-width='2'/%3E%3C/svg%3E") 2 2, auto!important; }
html[data-wcag-hide-images="1"] body img:not(.wcag-akpro-ui img), html[data-wcag-hide-images="1"] body picture:not(.wcag-akpro-ui picture), html[data-wcag-hide-images="1"] body video:not(.wcag-akpro-ui video) { visibility:hidden!important; }
html[data-wcag-hide-images="1"] body *:not(.wcag-akpro-ui):not(.wcag-akpro-ui *) { background-image:none!important; }
html[data-wcag-highlight-links="1"] body a:not(.wcag-akpro-ui a) { text-decoration:underline!important; text-decoration-thickness:3px!important; text-underline-offset:3px!important; outline:2px solid currentColor!important; outline-offset:2px!important; }
html[data-wcag-readable-font="1"] body *:not(.wcag-akpro-ui):not(.wcag-akpro-ui *) { font-family:Arial,Verdana,Tahoma,sans-serif!important; font-style:normal!important; }
html[data-wcag-stop-animations="1"] *, html[data-wcag-stop-animations="1"] *::before, html[data-wcag-stop-animations="1"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }

/* Font scaling, zoom and spacing.
 * IMPORTANT: none of these rules may touch the site's native typography/layout
 * until the visitor explicitly enables the corresponding accessibility option.
 */
html[data-wcag-font-scale="1"] { font-size:calc(100% * var(--wcag-font-scale)); }
html[data-wcag-page-zoom="1"] body { zoom:var(--wcag-page-zoom); }
html[data-wcag-letter-spacing="1"] body *:not(.wcag-akpro-ui):not(.wcag-akpro-ui *) { letter-spacing:calc(var(--wcag-letter-level) * .06em)!important; }
html[data-wcag-word-spacing="1"] body *:not(.wcag-akpro-ui):not(.wcag-akpro-ui *) { word-spacing:calc(var(--wcag-word-level) * .08em)!important; }
html[data-wcag-line-spacing="1"] body p:not(.wcag-akpro-ui p),
html[data-wcag-line-spacing="1"] body li:not(.wcag-akpro-ui li),
html[data-wcag-line-spacing="1"] body blockquote:not(.wcag-akpro-ui blockquote),
html[data-wcag-line-spacing="1"] body dd:not(.wcag-akpro-ui dd),
html[data-wcag-line-spacing="1"] body dt:not(.wcag-akpro-ui dt) { line-height:calc(1.2 + var(--wcag-line-level) * .15)!important; }
html[data-wcag-paragraph-spacing="1"] body p:not(.wcag-akpro-ui p) { margin-bottom:calc(1em + var(--wcag-paragraph-level) * .5em)!important; }

/* Contrast modes. */
html[data-wcag-contrast="black"] body, html[data-wcag-contrast="black"] body *:not(.wcag-akpro-ui):not(.wcag-akpro-ui *) { background-color:#000!important; color:#fff!important; border-color:#fff!important; text-shadow:none!important; box-shadow:none!important; }
html[data-wcag-contrast="black"] body a:not(.wcag-akpro-ui a) { color:#ffea00!important; text-decoration:underline!important; }
html[data-wcag-contrast="yellow"] body, html[data-wcag-contrast="yellow"] body *:not(.wcag-akpro-ui):not(.wcag-akpro-ui *) { background-color:#000!important; color:#ffe600!important; border-color:#ffe600!important; text-shadow:none!important; box-shadow:none!important; }
html[data-wcag-contrast="yellow"] body a:not(.wcag-akpro-ui a) { color:#fff!important; text-decoration:underline!important; }
html[data-wcag-contrast="blue"] body, html[data-wcag-contrast="blue"] body *:not(.wcag-akpro-ui):not(.wcag-akpro-ui *) { background-color:#003b73!important; color:#fff!important; border-color:#fff!important; text-shadow:none!important; box-shadow:none!important; }
html[data-wcag-contrast="blue"] body a:not(.wcag-akpro-ui a) { color:#fff600!important; text-decoration:underline!important; }

/* WCAG 2.2 optional helpers. */
html.wcag-akpro-22-focus :focus-visible { outline:3px solid #ffbf00!important; outline-offset:3px!important; }
html.wcag-akpro-22-focus-clear :focus { scroll-margin-block:5rem; }
html.wcag-akpro-22-targets body :where(a,button,input:not([type="hidden"]),select,textarea,summary,[role="button"]):not(.wcag-akpro-ui *):not(.wcag-akpro-ui) { min-width:24px; min-height:24px; }

/* HTML sitemap */
.wcag-akpro-sitemap { max-width:1100px; margin:0 auto; }
.wcag-akpro-sitemap__title { margin-bottom:.35rem; }
.wcag-akpro-sitemap__intro { margin-bottom:2rem; }
.wcag-akpro-sitemap__section { margin:0 0 2rem; padding-top:1rem; border-top:1px solid #d0d5dd; }
.wcag-akpro-sitemap__section ul { columns:3; column-gap:2rem; padding-left:1.2rem; }
.wcag-akpro-sitemap__section li { break-inside:avoid; margin-bottom:.45rem; }

@media (max-width: 900px) {
    .wcag-akpro-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 780px) {
    .wcag-akpro-launcher__text { display:none; }
    .wcag-akpro-launcher { top:auto; bottom:1rem; width:58px; height:58px; padding:0; justify-content:center; }
    .wcag-akpro-position-right .wcag-akpro-launcher { right:1rem; }
    .wcag-akpro-position-left .wcag-akpro-launcher { left:1rem; }
    .wcag-akpro-dialog { top:0; right:0; width:100vw; max-height:100dvh; border-left:0; border-right:0; border-bottom:0; }
    .wcag-akpro-dialog__body { max-height:calc(100dvh - 82px); padding:8px; }
    .wcag-akpro-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wcag-akpro-tile { min-height:108px; font-size:14px; }
    .wcag-akpro-spacing-list { grid-template-columns:1fr; }
    .wcag-akpro-sitemap__section ul { columns:1; }
    .wcag-akpro-topbar__inner { justify-content:center; }
    .wcag-akpro-topbar__label { width:100%; text-align:center; margin:0; }
}

@media (max-width: 430px) {
    .wcag-akpro-grid--4, .wcag-akpro-grid--3 { grid-template-columns:1fr 1fr; gap:6px; }
    .wcag-akpro-card { padding:10px; }
    .wcag-akpro-tile { min-height:102px; padding:16px 5px 8px; }
    .wcag-akpro-tile__icon, .wcag-akpro-tile__icon svg { width:32px; height:32px; }
    .wcag-akpro-dialog__header h2 { font-size:21px!important; }
    .wcag-akpro-dialog__brand-icon { width:38px; height:38px; }
    .wcag-akpro-volume { justify-content:center; }
    .wcag-akpro-card--footer small { width:100%; margin-left:0; }
}

/* v1.1.1 — visual polish: restored launcher, compact viewport-fit panel, system UI typography */
.wcag-akpro-ui,
.wcag-akpro-ui button,
.wcag-akpro-ui a,
.wcag-akpro-ui input,
.wcag-akpro-ui select,
.wcag-akpro-ui textarea {
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* Restore the cleaner floating tab from the first design. The panel itself stays angular. */
.wcag-akpro-launcher {
    min-height:56px;
    padding:.68rem 1rem .68rem .82rem;
    gap:.65rem;
    border:0;
    background:var(--wcag-akpro-primary);
    box-shadow:0 12px 34px rgba(11,87,208,.28),0 4px 14px rgba(16,24,40,.18);
    font-size:16px;
    font-weight:750;
    letter-spacing:-.01em;
    transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.wcag-akpro-position-right .wcag-akpro-launcher { right:0; border-radius:14px 0 0 14px; }
.wcag-akpro-position-left .wcag-akpro-launcher { left:0; border-radius:0 14px 14px 0; }
.wcag-akpro-launcher:hover {
    filter:none;
    background:#0849b4;
    box-shadow:0 14px 38px rgba(11,87,208,.32),0 5px 16px rgba(16,24,40,.2);
    transform:translateY(-1px);
}
.wcag-akpro-launcher__icon { width:34px; height:34px; }
.wcag-akpro-launcher__icon svg { width:34px; height:34px; }

/* Compact desktop dashboard: all main tools fit into the viewport on common laptop screens. */
@media (min-width: 781px) {
    .wcag-akpro-dialog {
        top:10px;
        right:12px;
        width:min(900px,calc(100vw - 24px));
        max-height:calc(100vh - 20px);
    }
    .wcag-akpro-dialog__header {
        min-height:58px;
        padding:8px 10px 8px 14px;
    }
    .wcag-akpro-dialog__title-wrap { gap:10px; }
    .wcag-akpro-dialog__brand-icon { width:36px; height:36px; }
    .wcag-akpro-dialog__brand-icon svg { width:26px; height:26px; }
    .wcag-akpro-dialog__eyebrow { margin-bottom:1px; font-size:9px; letter-spacing:.13em; }
    .wcag-akpro-dialog__header h2 {
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
        font-size:20px!important;
        line-height:1.05!important;
        font-weight:750!important;
        letter-spacing:-.025em;
    }
    .wcag-akpro-close { width:38px; height:38px; font-size:30px; padding-bottom:3px; }
    .wcag-akpro-dialog__body {
        max-height:calc(100vh - 78px);
        padding:8px;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:start;
        gap:8px;
    }
    .wcag-akpro-card {
        min-width:0;
        margin:0;
        padding:9px;
    }
    .wcag-akpro-card--footer { grid-column:1 / -1; }
    .wcag-akpro-section-heading { gap:7px; margin:0 0 7px; }
    .wcag-akpro-section-heading > span {
        min-width:28px;
        height:20px;
        font-size:9px;
        letter-spacing:.05em;
    }
    .wcag-akpro-card h3 {
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
        font-size:15px!important;
        line-height:1.15!important;
        font-weight:750!important;
        letter-spacing:-.015em;
    }
    .wcag-akpro-card__hint {
        margin:-2px 0 6px!important;
        font-size:11px!important;
        line-height:1.25!important;
    }
    .wcag-akpro-grid { gap:5px; }
    .wcag-akpro-tile {
        min-height:72px;
        padding:8px 5px 7px;
        gap:4px;
        font-size:12px;
        line-height:1.12;
    }
    .wcag-akpro-tile__icon { width:29px; height:29px; }
    .wcag-akpro-tile__icon svg { width:27px; height:27px; }
    .wcag-akpro-tile__label { font-weight:650; }
    .wcag-akpro-tile__hover {
        min-height:18px;
        padding:3px 5px;
        font-size:8px;
        letter-spacing:.05em;
    }
    .wcag-akpro-contrast-swatch { width:40px; height:25px; }
    .wcag-akpro-spacing-list { gap:5px; }
    .wcag-akpro-stepper { padding:5px 6px; gap:.35rem; }
    .wcag-akpro-stepper > span { font-size:12px; font-weight:650; }
    .wcag-akpro-stepper button { width:30px; height:30px; font-size:18px; }
    .wcag-akpro-stepper output { min-width:30px; height:30px; font-size:12px; }
    .wcag-akpro-inline-button {
        min-height:34px;
        margin-top:6px;
        padding:.35rem .55rem;
        font-size:11px;
    }
    .wcag-akpro-status-line { margin-top:5px; font-size:11px; }
    .wcag-akpro-volume { margin-top:6px; font-size:12px; }
    .wcag-akpro-volume span { min-height:32px; padding:0 9px; }
    .wcag-akpro-volume button { width:34px; height:32px; font-size:19px; }
    .wcag-akpro-card--footer {
        min-height:42px;
        padding:7px 9px;
        gap:9px;
        font-size:12px;
    }
    .wcag-akpro-reset { min-height:32px; padding:.35rem .55rem; font-size:11px; }
    .wcag-akpro-reset svg { width:16px; height:16px; }
    .wcag-akpro-card--footer small { font-size:10px; }
}

@media (min-width: 781px) and (max-height: 720px) {
    .wcag-akpro-dialog__header { min-height:52px; padding-top:6px; padding-bottom:6px; }
    .wcag-akpro-dialog__brand-icon { width:32px; height:32px; }
    .wcag-akpro-dialog__brand-icon svg { width:23px; height:23px; }
    .wcag-akpro-dialog__header h2 { font-size:18px!important; }
    .wcag-akpro-close { width:34px; height:34px; font-size:27px; }
    .wcag-akpro-dialog__body { max-height:calc(100vh - 70px); gap:6px; padding:6px; }
    .wcag-akpro-card { padding:7px; }
    .wcag-akpro-section-heading { margin-bottom:5px; }
    .wcag-akpro-tile { min-height:64px; padding:6px 4px; font-size:11px; }
    .wcag-akpro-tile__icon { width:25px; height:25px; }
    .wcag-akpro-tile__icon svg { width:24px; height:24px; }
    .wcag-akpro-card__hint { margin-bottom:4px!important; font-size:10px!important; }
    .wcag-akpro-stepper { padding:4px 5px; }
    .wcag-akpro-stepper button,.wcag-akpro-stepper output { height:27px; }
    .wcag-akpro-stepper button { width:27px; }
    .wcag-akpro-inline-button { min-height:30px; margin-top:4px; }
    .wcag-akpro-volume { margin-top:4px; }
    .wcag-akpro-volume span,.wcag-akpro-volume button { height:28px; min-height:28px; }
}

@media (max-width: 780px) {
    .wcag-akpro-launcher {
        border-radius:50%!important;
        box-shadow:0 10px 28px rgba(11,87,208,.3),0 4px 12px rgba(16,24,40,.18);
    }
    .wcag-akpro-dialog,
    .wcag-akpro-dialog__header,
    .wcag-akpro-dialog__body,
    .wcag-akpro-card,
    .wcag-akpro-card h3 {
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
    }
}

/* v1.2.1 – larger desktop panel, compact vertical rhythm, v1.0 launcher */
.wcag-akpro-ui,
.wcag-akpro-ui *,
.wcag-akpro-dialog,
.wcag-akpro-dialog button,
.wcag-akpro-dialog a,
.wcag-akpro-topbar,
.wcag-akpro-topbar button,
.wcag-akpro-topbar a {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Exact visual direction of the original v1.0 floating tab. */
.wcag-akpro-launcher {
    min-height:52px;
    padding:.7rem .85rem;
    gap:.55rem;
    border:0;
    background:var(--wcag-akpro-primary);
    color:#fff;
    box-shadow:0 8px 25px rgba(0,0,0,.22);
    font-size:16px;
    font-weight:700;
    letter-spacing:0;
    transform:none;
    filter:none;
}
.wcag-akpro-position-right .wcag-akpro-launcher { right:0; border-radius:.75rem 0 0 .75rem; }
.wcag-akpro-position-left .wcag-akpro-launcher { left:0; border-radius:0 .75rem .75rem 0; }
.wcag-akpro-launcher:hover {
    background:#0849b4;
    box-shadow:0 10px 28px rgba(0,0,0,.25);
    transform:none;
    filter:none;
}
.wcag-akpro-launcher__icon,
.wcag-akpro-launcher__icon svg { width:30px; height:30px; }

@media (min-width: 781px) {
    .wcag-akpro-dialog {
        top:12px;
        right:14px;
        width:min(1080px,calc(100vw - 28px));
        max-height:calc(100vh - 24px);
    }
    .wcag-akpro-dialog__header {
        min-height:66px;
        padding:9px 12px 9px 16px;
    }
    .wcag-akpro-dialog__title-wrap { gap:11px; }
    .wcag-akpro-dialog__brand-icon { width:40px; height:40px; }
    .wcag-akpro-dialog__brand-icon svg { width:29px; height:29px; }
    .wcag-akpro-dialog__eyebrow { font-size:10px; letter-spacing:.14em; }
    .wcag-akpro-dialog__header h2 {
        font-size:23px!important;
        line-height:1.06!important;
        font-weight:760!important;
        letter-spacing:-.022em;
    }
    .wcag-akpro-close { width:40px; height:40px; font-size:31px; }
    .wcag-akpro-dialog__body {
        max-height:calc(100vh - 90px);
        padding:10px;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .wcag-akpro-card { padding:11px; }
    .wcag-akpro-section-heading { gap:8px; margin-bottom:8px; }
    .wcag-akpro-section-heading > span {
        min-width:30px;
        height:22px;
        font-size:9.5px;
    }
    .wcag-akpro-card h3 {
        font-size:16.5px!important;
        line-height:1.16!important;
        font-weight:750!important;
    }
    .wcag-akpro-card__hint {
        margin:-1px 0 7px!important;
        font-size:11.5px!important;
        line-height:1.3!important;
    }
    .wcag-akpro-grid { gap:6px; }
    .wcag-akpro-tile {
        min-height:86px;
        padding:10px 6px 8px;
        gap:5px;
        font-size:13.5px;
        line-height:1.12;
    }
    .wcag-akpro-tile__icon { width:33px; height:33px; }
    .wcag-akpro-tile__icon svg { width:31px; height:31px; }
    .wcag-akpro-tile__label { font-weight:680; }
    .wcag-akpro-tile__hover { font-size:8.5px; min-height:19px; }
    .wcag-akpro-contrast-swatch { width:44px; height:28px; }
    .wcag-akpro-spacing-list { gap:6px; }
    .wcag-akpro-stepper { padding:6px 7px; }
    .wcag-akpro-stepper > span { font-size:12.5px; }
    .wcag-akpro-stepper button { width:32px; height:32px; font-size:19px; }
    .wcag-akpro-stepper output { min-width:32px; height:32px; font-size:12.5px; }
    .wcag-akpro-inline-button { min-height:36px; margin-top:6px; font-size:11.5px; }
    .wcag-akpro-status-line { font-size:11.5px; }
    .wcag-akpro-volume { font-size:12.5px; }
    .wcag-akpro-volume span { min-height:34px; }
    .wcag-akpro-volume button { width:36px; height:34px; }
    .wcag-akpro-card--footer { min-height:44px; padding:7px 10px; }
    .wcag-akpro-reset { min-height:34px; font-size:11.5px; }
}

@media (min-width: 781px) and (max-height: 760px) {
    .wcag-akpro-dialog { top:8px; max-height:calc(100vh - 16px); }
    .wcag-akpro-dialog__header { min-height:56px; padding-top:6px; padding-bottom:6px; }
    .wcag-akpro-dialog__brand-icon { width:34px; height:34px; }
    .wcag-akpro-dialog__brand-icon svg { width:25px; height:25px; }
    .wcag-akpro-dialog__header h2 { font-size:20px!important; }
    .wcag-akpro-dialog__body { max-height:calc(100vh - 72px); gap:7px; padding:7px; }
    .wcag-akpro-card { padding:8px; }
    .wcag-akpro-section-heading { margin-bottom:5px; }
    .wcag-akpro-card h3 { font-size:15px!important; }
    .wcag-akpro-card__hint { margin-bottom:4px!important; font-size:10.5px!important; }
    .wcag-akpro-tile { min-height:70px; padding:6px 4px; font-size:11.5px; }
    .wcag-akpro-tile__icon { width:26px; height:26px; }
    .wcag-akpro-tile__icon svg { width:25px; height:25px; }
    .wcag-akpro-stepper { padding:4px 5px; }
    .wcag-akpro-stepper button,.wcag-akpro-stepper output { height:28px; }
    .wcag-akpro-stepper button { width:28px; }
    .wcag-akpro-inline-button { min-height:30px; margin-top:4px; }
    .wcag-akpro-volume { margin-top:4px; }
    .wcag-akpro-volume span,.wcag-akpro-volume button { min-height:29px; height:29px; }
}

@media (max-width: 780px) {
    .wcag-akpro-launcher {
        top:auto;
        bottom:1rem;
        width:58px;
        height:58px;
        min-height:58px;
        padding:0;
        justify-content:center;
        border-radius:50%!important;
    }
}

/* v1.2.2 – viewport-height panel: fills the available screen instead of ending halfway down. */
@media (min-width: 781px) {
    .wcag-akpro-dialog {
        top:12px;
        bottom:12px;
        height:calc(100vh - 24px);
        height:calc(100dvh - 24px);
        max-height:none;
        display:flex;
        flex-direction:column;
    }

    .wcag-akpro-dialog__header {
        flex:0 0 auto;
    }

    .wcag-akpro-dialog__body {
        flex:1 1 auto;
        min-height:0;
        max-height:none;
        overflow-y:auto;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-template-rows:repeat(3,minmax(0,1fr));
        grid-auto-flow:row dense;
        align-items:stretch;
    }

    .wcag-akpro-dialog__body > .wcag-akpro-card {
        min-height:0;
        height:100%;
        display:flex;
        flex-direction:column;
    }

    .wcag-akpro-dialog__body > .wcag-akpro-card .wcag-akpro-grid {
        flex:1 1 auto;
        align-items:stretch;
    }

    .wcag-akpro-dialog__body > .wcag-akpro-card .wcag-akpro-tile {
        height:100%;
    }

    .wcag-akpro-dialog__body > .wcag-akpro-card .wcag-akpro-spacing-list {
        flex:1 1 auto;
        grid-auto-rows:minmax(0,1fr);
    }

    .wcag-akpro-card--footer {
        flex:0 0 auto;
        width:100%;
        min-height:48px;
        margin:0!important;
        padding:7px 10px;
        border-left:0;
        border-right:0;
        border-bottom:0;
    }
}

/* Keep the same full-height behaviour on smaller screens, but let the content scroll naturally. */
@media (max-width: 780px) {
    .wcag-akpro-dialog {
        height:100vh;
        height:100dvh;
        max-height:none;
        display:flex;
        flex-direction:column;
    }

    .wcag-akpro-dialog__header,
    .wcag-akpro-card--footer {
        flex:0 0 auto;
    }

    .wcag-akpro-dialog__body {
        flex:1 1 auto;
        min-height:0;
        max-height:none;
        overflow-y:auto;
    }

    .wcag-akpro-card--footer {
        width:100%;
        margin:0!important;
        border-left:0;
        border-right:0;
        border-bottom:0;
    }
}
