:root { --fg: #1b1b1b; --bg: #fff; --accent: #2563eb; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--fg); background: var(--bg); margin: 0; line-height: 1.6; }
header, footer { padding: 1rem; background: #f6f7fb; }
nav ul { list-style: none; display: flex; gap: 1rem; padding: 0; margin: 0; }
a { color: var(--accent); text-decoration: none; }
main { max-width: 920px; margin: 2rem auto; padding: 0 1rem; }
h1, h2 { line-height: 1.2; }
.brand { display:flex; align-items:center; gap:1rem; }
.tagline-primary { font-weight:600; color:#1E3A8A; }
.tagline-secondary { color:#10B981; }
/* Breadcrumbs list styling */
.breadcrumbs ol { list-style:none; padding:0; margin:0 0 .5rem 0; display:flex; gap:.25rem; flex-wrap:wrap; }
.breadcrumbs li+li::before { content:"›"; margin:0 .25rem; color:#555; }

    :root { --focus: #111; }
/* Visually hidden but accessible */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
/* Skip link */
.skip-link { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { left:1rem; top:1rem; width:auto; height:auto; padding:.5rem .75rem; background:#fff; border:2px solid var(--focus); z-index:9999; }
/* Focus outlines */
a:focus, button:focus { outline:2px solid var(--focus); outline-offset:2px; }
/* Table caption visually hidden (announce to SRs) */
.comparison caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }