/* Accessibility basics (WCAG 2.1 AA) */
.skip-link { position: absolute; left: 8px; top: -80px; z-index: 100; background: #111827; color: #fff; padding: 12px 16px; border-radius: 10px; font-weight: 800; text-decoration: none; }
.skip-link:focus { top: 8px; }
main:focus { outline: none; }
:focus-visible { outline: 3px solid #111827; outline-offset: 2px; box-shadow: 0 0 0 5px #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, video:focus-visible, summary:focus-visible { outline: 3px solid #111827; outline-offset: 2px; }
.field input:focus, .field select:focus { outline: 3px solid #111827 !important; outline-offset: 1px; }
/* Contrast: white on #0E9F6E is only 3.4:1, so darken filled green buttons (5.0:1) */
.btn.go { background: #0B7F58; border-color: #0B7F58; box-shadow: 0 6px 0 #075C40; }
.btn.go:active { box-shadow: 0 3px 0 #075C40; }
.field.bad input, .field.bad select { border-color: #B91C1C; }
.err { color: #B91C1C; }
.fine a, .foot a { color: #0B6B4A; text-decoration: underline; }
.foot { color: #4B5563; }
.sub { color: #4B5563; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
