:root { color-scheme: light dark; --gap: 1rem; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, sans-serif; line-height: 1.6; }
a { color: #0b62b4; }
.skip { position:absolute; left:-999px; top:auto; }
.skip:focus { left:1rem; top:1rem; background:#fff; color:#000; padding:.5rem; z-index:10; }
.topbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; align-items:center; padding:1rem; border-bottom:1px solid #7774; }
.brand { font-weight:800; text-decoration:none; font-size:1.2rem; }
nav ul { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; list-style:none; padding:0; margin:0; }
.container { max-width: 1050px; margin: 0 auto; padding: 1.25rem; }
.hero { padding: 2rem 0; }
.lede { font-size:1.15rem; max-width: 70ch; }
.eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; font-weight:700; color:#666; }
.grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap:var(--gap); }
.client-list { display:grid; gap:var(--gap); }
.card { border:1px solid #7774; border-radius:14px; padding:1rem; background:Canvas; }
.stats strong { font-size:1.8rem; }
.button, button, input[type=submit] { display:inline-block; border:1px solid #7776; border-radius:10px; padding:.55rem .8rem; text-decoration:none; background:#eee; color:#111; cursor:pointer; font:inherit; }
.secondary { background:transparent; }
.danger { background:#4b0000; color:white; }
form { display:grid; gap:.8rem; max-width:760px; }
.field { display:grid; gap:.25rem; }
label { font-weight:700; }
input, select, textarea { width:100%; box-sizing:border-box; padding:.65rem; border-radius:8px; border:1px solid #7776; font:inherit; }
textarea { min-height:9rem; }
table { width:100%; border-collapse:collapse; margin-top:1rem; }
th, td { text-align:left; padding:.6rem; border-bottom:1px solid #7774; vertical-align:top; }
.notice { border-left:5px solid #0b62b4; padding:.75rem 1rem; background:#0b62b411; }
.help { margin:0; font-size:.92rem; color:#666; }
.footer { margin-top:3rem; padding:1.5rem; border-top:1px solid #7774; text-align:center; font-size:.9rem; }
.meta { color:#666; font-size:.95rem; }
.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; }
code { padding:.1rem .25rem; border-radius:.25rem; background:#7772; }
dl { display:grid; grid-template-columns: minmax(8rem, 14rem) 1fr; gap:.5rem 1rem; }
dt { font-weight:700; }
dd { margin:0; }
@media (max-width: 720px) { dl { grid-template-columns:1fr; } }
@media (prefers-color-scheme: dark) { a { color:#8bc7ff; } .button, button, input[type=submit] { background:#222; color:#fff; } .secondary { background:transparent; } .meta, .help, .eyebrow { color:#bbb; } }
