:root {
	--a11y-accent:var(--awd-color-accent);
	--a11y-accent-hover:var(--awd-color-accent-hover);
	--a11y-accent-ink:var(--awd-color-accent-ink);
	--a11y-dark:var(--awd-color-bg-dark);
	--a11y-dark-2:var(--awd-color-dark-2);
	--a11y-rail:var(--awd-color-rail);
	--a11y-cream:var(--awd-color-bg);
	--a11y-warm:var(--awd-color-bg-alt);
	--a11y-card:var(--awd-color-card);
	--a11y-edge:var(--awd-color-border);
	--a11y-ink:var(--awd-color-text);
	--a11y-body:var(--awd-color-body);
	--a11y-muted:var(--awd-color-text-muted);
	--a11y-dim:var(--awd-color-dim);
	--a11y-inv:var(--awd-color-text-inverse);
	--a11y-hair:var(--awd-color-hairline-dark);
	--a11y-pill:var(--awd-color-pill);
	--a11y-warm-2:var(--awd-color-warm-2);
	--a11y-clay:var(--awd-color-clay);
	--a11y-clay-ink:var(--awd-color-clay-ink);
	--a11y-clay-body:var(--awd-color-clay-body);
	--a11y-clay-kicker:var(--awd-color-clay-kicker);
	--awd-header-h:76px;
}

.page-accessibility { font-size:17px; line-height:1.65; }
.page-accessibility *, .page-accessibility *::before, .page-accessibility *::after { box-sizing:border-box; }
.page-accessibility h1, .page-accessibility h2, .page-accessibility h3 { font-style:normal; overflow:visible; text-overflow:clip; }
.page-accessibility h1 { font-size:clamp(41px,5.3vw,70px); font-weight:300; letter-spacing:-.045em; line-height:1.02; margin:0 0 22px; max-width:12ch; }
.page-accessibility h2 { font-size:clamp(30px,3.7vw,47px); font-weight:300; letter-spacing:-.03em; line-height:1.11; margin:0 0 18px; }
.page-accessibility h3 { font-size:20px; font-weight:500; letter-spacing:-.01em; line-height:1.3; margin:0 0 10px; }
.page-accessibility .a11y-title-accent { color:var(--a11y-accent); font-style:normal; }
.page-accessibility .kicker { color:var(--a11y-accent); font-size:11.5px; font-weight:600; letter-spacing:.23em; margin:0 0 14px; text-transform:uppercase; }
.page-accessibility .lede { font-size:17.5px; line-height:1.6; margin:0; max-width:62ch; }
.page-accessibility .btn { align-items:center; background:var(--a11y-accent); border:0; border-radius:8px; color:var(--a11y-dark-2); display:inline-flex; font-size:15px; font-weight:600; justify-content:center; min-height:50px; padding:14px 28px; text-decoration:none; transition:background .22s,transform .22s; }
.page-accessibility .btn:hover { background:var(--a11y-accent-hover); transform:translateY(-2px); }
.page-accessibility .btn-ghost { background:transparent; border:1px solid color-mix(in srgb,var(--a11y-accent) 50%,transparent); color:var(--a11y-accent); }
.page-accessibility .btn-ghost:hover { background:color-mix(in srgb,var(--a11y-accent) 11%,transparent); transform:none; }
.page-accessibility section[class*="ground-"] { overflow:hidden; padding:96px 0; position:relative; }
.page-accessibility .ground-hero { background:var(--awd-gradient-hero); color:var(--a11y-inv); }
.page-accessibility section[class*="ground-"].ground-hero { padding-bottom:86px; padding-top:calc(var(--awd-header-h) + var(--wp-admin--admin-bar--height,0px) + 60px); }
.page-accessibility .ground-dark { background:var(--a11y-dark); color:var(--a11y-inv); }
.page-accessibility .ground-dark2 { background:var(--a11y-dark-2); color:var(--a11y-inv); }
.page-accessibility .ground-cream { background:var(--a11y-cream); color:var(--a11y-ink); }
.page-accessibility .ground-warm { background:var(--a11y-warm); color:var(--a11y-ink); }
.page-accessibility .ground-clay { background:var(--a11y-clay); color:var(--a11y-clay-body); }
.page-accessibility .ground-hero .lede, .page-accessibility .ground-dark .lede { color:var(--a11y-dim); }
.page-accessibility .ground-clay h2 { color:var(--a11y-clay-ink); }
.page-accessibility .ground-clay .kicker { color:var(--a11y-clay-kicker); }
.page-accessibility .ground-clay .a11y-title-accent { color:var(--a11y-clay-ink); }
.page-accessibility .ground-cream::before, .page-accessibility .ground-warm::before { background:radial-gradient(75% 58% at 88% 0%,color-mix(in srgb,var(--a11y-accent) 13%,transparent),transparent 64%); content:""; inset:0; pointer-events:none; position:absolute; }
.page-accessibility .ground-warm::before { background:radial-gradient(72% 60% at 7% 0%,color-mix(in srgb,var(--a11y-accent) 16%,transparent),transparent 64%); }
.page-accessibility .wrap { max-width:1120px; padding-left:24px; padding-right:24px; position:relative; z-index:2; }
.page-accessibility [hidden] { display:none !important; }
.a11y-section-head { max-width:820px; }
.a11y-hero { align-items:stretch; display:grid; gap:36px; grid-template-columns:14px minmax(0,1fr); }
.a11y-rail { align-self:stretch; background:var(--a11y-rail); border-radius:2px; min-height:425px; overflow:hidden; position:relative; }
.a11y-rail::after { animation:a11y-rail-travel 8s cubic-bezier(.45,0,.55,1) infinite; background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--a11y-accent) 62%,transparent),transparent); content:""; height:44%; left:0; position:absolute; right:0; }
@keyframes a11y-rail-travel { 0% { top:-44%; } 100% { top:100%; } }
.a11y-hero-grid { align-items:center; display:grid; gap:68px; grid-template-columns:1.05fr .95fr; }
.a11y-hero-grid > * { min-width:0; }
.a11y-cta-row { display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.a11y-reviewed { color:var(--a11y-muted); font-size:11px; margin:20px 0 0; }
.a11y-status-card { background:color-mix(in srgb,var(--a11y-dark-2) 91%,transparent); border:1px solid color-mix(in srgb,var(--a11y-accent) 27%,transparent); border-radius:17px; box-shadow:0 30px 70px color-mix(in srgb,var(--a11y-dark) 65%,transparent); padding:25px; }
.a11y-card-head, .a11y-helper-head { align-items:center; border-bottom:1px solid var(--a11y-rail); display:flex; justify-content:space-between; margin-bottom:18px; padding-bottom:15px; }
.a11y-card-head span, .a11y-helper-head span { align-items:center; color:var(--a11y-accent); display:flex; font-size:10.5px; font-weight:600; gap:8px; letter-spacing:.15em; text-transform:uppercase; }
.a11y-card-head i, .a11y-helper-head i { animation:a11y-pulse 2.2s ease-in-out infinite; background:var(--a11y-accent); border-radius:50%; height:7px; width:7px; }
.a11y-card-head small, .a11y-helper-head small { color:var(--a11y-muted); font-size:9.5px; }
@keyframes a11y-pulse { 0%,100% { opacity:.4; } 50% { opacity:1; } }
.a11y-preview { background:var(--a11y-dark); border:1px solid var(--a11y-rail); border-radius:12px; overflow:hidden; }
.a11y-preview-bar { align-items:center; border-bottom:1px solid var(--a11y-rail); display:flex; gap:6px; min-height:40px; padding:0 13px; }
.a11y-preview-bar i { background:var(--a11y-rail); border-radius:50%; height:6px; width:6px; }
.a11y-preview-bar span { color:var(--a11y-muted); font-size:8.5px; margin-left:5px; }
.a11y-focus-demo { padding:19px; }
.a11y-focus-demo > span { background:var(--a11y-accent); border-radius:4px; color:var(--a11y-dark); display:inline-block; font-size:9px; font-weight:700; padding:6px 9px; }
.a11y-focus-demo > div { align-items:center; border:2px solid var(--a11y-accent); border-radius:8px; display:flex; gap:10px; margin-top:15px; outline:2px solid color-mix(in srgb,var(--a11y-accent) 27%,transparent); outline-offset:3px; padding:12px; }
.a11y-focus-demo > div i { background:var(--a11y-accent); border-radius:4px; height:28px; width:28px; }
.a11y-focus-demo b { color:var(--a11y-inv); font-size:12px; }
.a11y-focus-demo p { color:var(--a11y-dim); font-size:10px; line-height:1.45; margin:16px 0 0; }
.a11y-status-card ul { display:grid; gap:7px; grid-template-columns:1fr 1fr; list-style:none; margin:17px 0 0; padding:0; }
.a11y-status-card li { align-items:center; color:var(--a11y-dim); display:flex; font-size:10px; gap:7px; }
.a11y-status-card li span { color:var(--a11y-accent); }
.a11y-fact-strip { padding:0 !important; }
.a11y-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.a11y-facts > div { border-left:1px solid var(--a11y-hair); padding:26px 22px; }
.a11y-facts > div:first-child { border-left:0; }
.a11y-facts b, .a11y-facts small { display:block; }
.a11y-facts b { color:var(--a11y-accent); font-family:var(--awd-font-display); font-size:24px; font-weight:400; }
.a11y-facts small { color:var(--a11y-dim); font-size:10px; margin-top:2px; }
.a11y-explorer { background:var(--a11y-card); border:1px solid var(--a11y-edge); border-radius:17px; box-shadow:0 25px 55px color-mix(in srgb,var(--a11y-ink) 10%,transparent); display:grid; grid-template-columns:.78fr 1.22fr; margin-top:38px; overflow:hidden; }
.a11y-route-list { background:var(--a11y-warm-2); display:grid; gap:7px; padding:21px; }
.a11y-route { align-items:center; background:transparent; border:1px solid transparent; border-radius:10px; color:var(--a11y-body); cursor:pointer; display:grid; font-family:var(--awd-font-body); gap:12px; grid-template-columns:31px 1fr 17px; min-height:58px; padding:10px 12px; text-align:left; transition:background .2s,border-color .2s,transform .2s; }
.a11y-route:hover { border-color:var(--a11y-accent); transform:translateX(2px); }
.a11y-route.is-selected { background:var(--a11y-card); border-color:var(--a11y-accent); color:var(--a11y-ink); }
.a11y-route > span { color:var(--a11y-accent-ink); font-family:var(--awd-font-display); font-size:10px; }
.a11y-route b { font-size:12.5px; }
.a11y-route i { color:var(--a11y-accent-ink); font-style:normal; transition:transform .2s; }
.a11y-route.is-selected i { transform:translateX(3px); }
.a11y-route-result { padding:31px; }
.a11y-route-result > p { color:var(--a11y-accent-ink); font-size:9.5px; font-weight:700; letter-spacing:.13em; margin:0 0 8px; text-transform:uppercase; }
.a11y-route-result h3 { font-size:25px; max-width:21ch; }
.a11y-route-result ul { list-style:none; margin:20px 0; padding:0; }
.a11y-route-result li { border-bottom:1px solid var(--a11y-edge); color:var(--a11y-body); font-size:12px; line-height:1.5; padding:9px 0 9px 21px; position:relative; }
.a11y-route-result li::before { color:var(--a11y-accent-ink); content:"✓"; left:0; position:absolute; }
.a11y-route-result > div { background:var(--a11y-warm); border-radius:10px; padding:14px 16px; }
.a11y-route-result small, .a11y-route-result > div b { display:block; }
.a11y-route-result small { color:var(--a11y-muted); font-size:8.5px; letter-spacing:.12em; text-transform:uppercase; }
.a11y-route-result > div b { color:var(--a11y-ink); font-size:11.5px; line-height:1.5; margin-top:3px; }
.a11y-fallback { border:1px solid var(--a11y-edge); border-radius:12px; margin:12px; padding:20px; }
.a11y-fallback > span { color:var(--a11y-accent-ink); font-size:10px; }
.a11y-fallback p, .a11y-fallback li { color:var(--a11y-body); font-size:12px; }
.a11y-check-grid, .a11y-standard-grid, .a11y-limit-grid, .a11y-report-grid, .a11y-contact-grid { align-items:start; display:grid; gap:70px; grid-template-columns:1fr 1fr; }
.a11y-check-grid > div > p:not(.kicker) { color:var(--a11y-clay-body); font-size:13px; }
.a11y-check-list { display:grid; gap:9px; list-style:none; margin:0; padding:0; }
.a11y-check-list li { align-items:center; background:color-mix(in srgb,var(--a11y-clay-ink) 7%,transparent); border:1px solid color-mix(in srgb,var(--a11y-clay-ink) 14%,transparent); border-radius:12px; display:grid; gap:13px; grid-template-columns:44px 1fr auto; padding:13px; }
.a11y-check-list li > span { align-items:center; background:color-mix(in srgb,var(--a11y-clay-ink) 12%,transparent); border-radius:8px; color:var(--a11y-clay-ink); display:flex; font-family:var(--awd-font-display); font-size:10px; height:44px; justify-content:center; }
.a11y-check-list small { color:var(--a11y-clay-kicker); display:block; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.a11y-check-list h3 { color:var(--a11y-clay-ink); font-size:14px; margin:1px 0; }
.a11y-check-list p { color:var(--a11y-clay-body); font-size:10px; line-height:1.4; margin:0; }
.a11y-check-list li > b { border:1px solid color-mix(in srgb,var(--a11y-clay-ink) 18%,transparent); border-radius:999px; color:var(--a11y-clay-ink); font-size:9px; padding:6px 9px; }
.a11y-check-list li.is-open > b { background:var(--a11y-clay-ink); color:var(--a11y-clay); }
.a11y-standard-grid { align-items:center; }
.a11y-text-link { align-items:center; border-bottom:1px solid color-mix(in srgb,var(--a11y-accent) 50%,transparent); color:var(--a11y-accent); display:inline-flex; font-size:13px; margin-top:16px; min-height:44px; }
.a11y-standard-board { border:1px solid var(--a11y-rail); border-radius:15px; padding:23px; }
.a11y-standard-board > div { align-items:center; border-bottom:1px solid var(--a11y-rail); display:grid; gap:15px; grid-template-columns:105px 1fr; padding:13px 0; }
.a11y-standard-board > div:first-child { padding-top:0; }
.a11y-standard-board span { color:var(--a11y-accent); font-family:var(--awd-font-display); font-size:13px; }
.a11y-standard-board b { color:var(--a11y-inv); font-size:11.5px; }
.a11y-standard-board p { color:var(--a11y-dim); font-size:10.5px; line-height:1.5; margin:17px 0 0; }
.a11y-limits { display:grid; gap:10px; }
.a11y-limits details { background:var(--a11y-card); border:1px solid var(--a11y-edge); border-radius:12px; }
.a11y-limits summary { align-items:center; cursor:pointer; display:grid; gap:13px; grid-template-columns:36px 1fr 17px; list-style:none; min-height:64px; padding:13px 16px; }
.a11y-limits summary::-webkit-details-marker { display:none; }
.a11y-limits summary > span { align-items:center; background:var(--a11y-warm-2); border-radius:8px; color:var(--a11y-accent-ink); display:flex; font-family:var(--awd-font-display); font-size:9px; height:36px; justify-content:center; }
.a11y-limits summary b { color:var(--a11y-ink); font-size:12.5px; }
.a11y-limits summary i { height:14px; position:relative; width:14px; }
.a11y-limits summary i::before, .a11y-limits summary i::after { background:var(--a11y-accent-ink); content:""; height:1px; left:0; position:absolute; top:7px; transition:transform .2s; width:14px; }
.a11y-limits summary i::after { transform:rotate(90deg); }
.a11y-limits details[open] summary i::after { transform:none; }
.a11y-limits details > div { border-top:1px solid var(--a11y-edge); padding:4px 17px 16px 65px; }
.a11y-limits details p { color:var(--a11y-body); font-size:11.5px; line-height:1.55; margin:11px 0 0; }
.a11y-fix-note { align-items:center; border-top:1px solid var(--a11y-edge); display:grid; gap:17px; grid-template-columns:50px 1fr; margin-top:34px; padding-top:23px; }
.a11y-fix-note > span { align-items:center; background:var(--a11y-pill); border-radius:10px; color:var(--a11y-accent-ink); display:flex; height:50px; justify-content:center; }
.a11y-fix-note h3 { font-size:16px; margin-bottom:3px; }
.a11y-fix-note p { color:var(--a11y-body); font-size:11.5px; margin:0; }
.a11y-report-steps { display:grid; gap:9px; list-style:none; margin:25px 0 0; padding:0; }
.a11y-report-steps li { align-items:center; border-top:1px solid var(--a11y-edge); color:var(--a11y-body); display:grid; font-size:12px; gap:13px; grid-template-columns:32px 1fr; padding:10px 0; }
.a11y-report-steps span { color:var(--a11y-accent-ink); font-family:var(--awd-font-display); font-size:10px; }
.a11y-report-helper { background:var(--a11y-card); border:1px solid var(--a11y-edge); border-radius:16px; box-shadow:0 24px 54px color-mix(in srgb,var(--a11y-ink) 10%,transparent); padding:25px; }
.a11y-helper-head { border-color:var(--a11y-edge); }
.a11y-helper-head span { color:var(--a11y-accent-ink); }
.a11y-helper-head i { background:var(--a11y-accent-ink); }
.a11y-report-helper > p { color:var(--a11y-body); font-size:11.5px; }
.a11y-report-types { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0; }
.a11y-report-type { background:var(--a11y-warm); border:1px solid var(--a11y-edge); border-radius:999px; color:var(--a11y-body); cursor:pointer; font-family:var(--awd-font-body); font-size:10.5px; min-height:44px; padding:9px 12px; transition:background .2s,border-color .2s; }
.a11y-report-type:hover, .a11y-report-type.is-selected { background:var(--a11y-pill); border-color:var(--a11y-accent); color:var(--a11y-accent-ink); }
.a11y-report-output { background:var(--a11y-warm); border-radius:10px; margin-bottom:18px; padding:15px; }
.a11y-report-output small, .a11y-report-output b { display:block; }
.a11y-report-output small { color:var(--a11y-muted); font-size:8.5px; letter-spacing:.12em; text-transform:uppercase; }
.a11y-report-output b { color:var(--a11y-ink); font-size:11.5px; line-height:1.5; margin-top:3px; }
.a11y-contact-grid { align-items:center; }
.a11y-contact-grid address { display:grid; font-style:normal; gap:10px; }
.a11y-contact-grid address a { align-items:center; border:1px solid var(--a11y-rail); border-radius:12px; color:var(--a11y-inv); display:grid; gap:13px; grid-template-columns:44px 1fr; padding:15px; text-decoration:none; transition:border-color .2s,transform .2s; }
.a11y-contact-grid address a:hover { border-color:var(--a11y-accent); transform:translateY(-2px); }
.a11y-contact-grid address span { align-items:center; background:color-mix(in srgb,var(--a11y-accent) 13%,transparent); border-radius:9px; color:var(--a11y-accent); display:flex; grid-row:1 / 3; height:44px; justify-content:center; }
.a11y-contact-grid address small { color:var(--a11y-muted); font-size:9px; letter-spacing:.11em; text-transform:uppercase; }
.a11y-contact-grid address b { color:var(--a11y-inv); font-size:13px; overflow-wrap:anywhere; }
.a11y-response-note { align-items:center; border-top:1px solid var(--a11y-rail); display:flex; gap:25px; justify-content:space-between; margin-top:35px; padding-top:20px; }
.a11y-response-note p { color:var(--a11y-dim); font-size:11px; margin:0; max-width:70ch; }
.a11y-response-note p b { color:var(--a11y-inv); }
.a11y-response-note a { align-items:center; color:var(--a11y-accent); display:inline-flex; flex:none; font-size:11px; min-height:44px; }

.page-accessibility button:focus-visible, .page-accessibility a:focus-visible, .page-accessibility summary:focus-visible { outline:2px solid var(--a11y-accent); outline-offset:3px; }

@media (max-width:900px) {
	.a11y-hero-grid { gap:40px; grid-template-columns:minmax(0,1fr); }
	.a11y-status-card { max-width:620px; }
	.a11y-explorer, .a11y-check-grid, .a11y-standard-grid, .a11y-limit-grid, .a11y-report-grid, .a11y-contact-grid { gap:42px; grid-template-columns:minmax(0,1fr); }
}

@media (max-width:640px) {
	.page-accessibility section[class*="ground-"] { padding:72px 0; }
	.page-accessibility section[class*="ground-"].ground-hero { padding-bottom:70px; padding-top:calc(var(--awd-header-h) + var(--wp-admin--admin-bar--height,0px) + 42px); }
	.page-accessibility .wrap { padding-left:20px; padding-right:20px; }
	.a11y-hero { gap:20px; grid-template-columns:7px minmax(0,1fr); }
	.a11y-rail { min-height:480px; }
	.a11y-hero-grid { gap:34px; }
	.a11y-cta-row .btn, .a11y-report-helper .btn { width:100%; }
	.a11y-status-card { padding:19px; }
	.a11y-status-card ul { grid-template-columns:1fr; }
	.a11y-facts { grid-template-columns:1fr 1fr; }
	.a11y-facts > div { border-bottom:1px solid var(--a11y-hair); border-left:0; padding:19px 8px; }
	.a11y-facts > div:nth-child(even) { border-left:1px solid var(--a11y-hair); padding-left:20px; }
	.a11y-facts > div:nth-last-child(-n+2) { border-bottom:0; }
	.a11y-explorer { grid-template-columns:minmax(0,1fr); margin-top:30px; }
	.a11y-route-list { padding:15px; }
	.a11y-route-result { padding:23px 19px; }
	.a11y-check-list li { align-items:start; grid-template-columns:40px 1fr; }
	.a11y-check-list li > b { grid-column:2; justify-self:start; }
	.a11y-standard-board > div { grid-template-columns:1fr; gap:2px; }
	.a11y-limits details > div { padding:4px 15px 16px; }
	.a11y-fix-note { align-items:start; }
	.a11y-report-helper { padding:20px; }
	.a11y-response-note { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
	.a11y-rail::after, .a11y-card-head i, .a11y-helper-head i { animation:none; }
	.page-accessibility .btn, .a11y-route, .a11y-route i, .a11y-report-type, .a11y-limits summary i::after, .a11y-contact-grid address a { transition:none; }
}

@media print {
	.page-accessibility .a11y-rail, .page-accessibility .a11y-cta-row, .page-accessibility .a11y-route-list, .page-accessibility .a11y-report-types, .page-accessibility .a11y-report-helper .btn { display:none; }
	.page-accessibility section[class*="ground-"] { background:var(--a11y-card); color:var(--a11y-ink); padding:28px 0; }
	.page-accessibility .a11y-hero { display:block; }
	.page-accessibility .a11y-title-accent, .page-accessibility .kicker { color:var(--a11y-accent-ink); }
	.page-accessibility .ground-dark .lede, .page-accessibility .ground-hero .lede { color:var(--a11y-body); }
	.page-accessibility .a11y-limits details > div { display:block; }
}
