/* Accessibility layer (WCAG 2.2 AA). Loaded after the main stylesheet; additive only. */
:focus-visible{outline:3px solid #ffd27a;outline-offset:3px;border-radius:6px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffd27a;outline-offset:3px}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus,.skip:focus-visible{left:16px;top:16px;z-index:200;background:#fff;color:#000;padding:12px 16px;border-radius:12px;outline:3px solid #000}
/* Text links inside prose must not rely on colour alone */
.prose a,.muted a,.fine a{color:#ffd27a;text-decoration:underline;text-underline-offset:3px}
.prose a:hover,.muted a:hover,.fine a:hover{color:#fff}
.fine nav{display:inline}
.fine a{white-space:nowrap}
/* Contrast fixes: small grey text raised to >= 4.5:1 on its dark surface */
.mock-sidebar i,.demo-panel p,.metric-row span,.mock-tabs,.fine,.mini-list p span,.wide-card span,.small-card span,.demo-metrics span,.chart-card>span,.insight-card>span,.reflection-card p,.demo-shell aside span,.demo-actions i{color:#aeaeb3}
.demo-shell aside span.active{color:#d8f5cc}
.muted{color:#b4b2ae}
/* Prose, lists, tables and forms used by the legal pages */
.prose{max-width:820px}
.prose ul{padding-left:1.25em}.prose li{margin:.35em 0}
.prose h3{margin-top:1.6em}
.facts{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:10px 24px;margin:1em 0}
.facts dt{font-weight:700;color:#f7f5ef}.facts dd{margin:0;color:#d5d3ce}
.table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem}
.table th,.table td{padding:10px 12px;border-bottom:1px solid #303034;text-align:left;vertical-align:top}
.table thead th{color:#f7f5ef}
.form-grid .checkbox,.form .checkbox{display:flex;gap:10px;align-items:flex-start;line-height:1.4}
.form-grid input[type=checkbox],.form input[type=checkbox]{width:22px;height:22px;flex:none;margin-top:2px;accent-color:#efb347}
input,select,textarea{min-height:44px}
.button,.nav-toggle{min-height:44px;min-width:44px}
[hidden]{display:none!important}
/* Respect user preferences */
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ticker-track{animation:none!important}}
@media (prefers-contrast:more){:root{--muted:#d0cec9;--line:#5a5a60}.button{border-color:#fff}}
@media (max-width:640px){.facts{grid-template-columns:1fr}}
