*:focus{outline:none}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.focus-ring{transition:all 0.2s ease-in-out}.focus-ring:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(26,54,93,0.1)}.btn-primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 4px rgba(56,161,105,0.2)}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(26,54,93,0.2)}.btn-accent:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(26,54,93,0.2)}#mobile-menu-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background-color:rgba(26,54,93,0.1);border-radius:8px}nav a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px;background-color:rgba(26,54,93,0.05);padding:2px 4px}footer a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px;background-color:rgba(56,161,105,0.1);padding:2px 4px}.card:focus-visible,.card a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.15)}.input-field:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(26,54,93,0.1)}input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 3px rgba(26,54,93,0.2)}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:white;padding:8px 16px;text-decoration:none;border-radius:4px;font-weight:600;z-index:1000;transition:top 0.3s ease}.skip-link:focus{top:6px;outline:2px solid var(--color-accent);outline-offset:2px}.js-focus-visible:focus:not(.focus-visible){outline:none}[tabindex]:focus-visible,[role="button"]:focus-visible,[role="link"]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.modal:focus-visible{outline:none}.modal .modal-content:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.dropdown-menu:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dropdown-menu a:focus-visible,.dropdown-menu button:focus-visible{background-color:rgba(26,54,93,0.1);outline:2px solid var(--color-primary);outline-offset:-2px}#mobile-menu a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background-color:rgba(26,54,93,0.1);border-radius:4px;padding:8px 12px;margin:2px 0}button:hover,a:hover,[role="button"]:hover{cursor:pointer}button:disabled:focus-visible,input:disabled:focus-visible{outline:2px solid var(--color-secondary-300);outline-offset:2px;opacity:0.6}@media (prefers-contrast:high){*:focus-visible{outline:3px solid currentColor;outline-offset:2px}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-accent:focus-visible{outline:3px solid currentColor;outline-offset:2px}}@media (prefers-reduced-motion:reduce){.focus-ring,.skip-link,button,a,input,textarea,select{transition:none}}.card:focus-within{box-shadow:0 0 0 2px rgba(26,54,93,0.2);border-color:var(--color-primary)}.form-group:focus-within label{color:var(--color-primary);font-weight:600}.btn-copy:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;background-color:rgba(56,161,105,0.1)}.filter-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background-color:rgba(26,54,93,0.1);border-color:var(--color-primary)}.tab-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background-color:rgba(26,54,93,0.1)}.tab-button.active:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.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}.focus-trap{position:relative}.focus-trap:focus{outline:none}@media (max-width:768px){button,a,input,select,textarea,[role="button"],[tabindex]{min-height:44px;min-width:44px}p a,span a,li a{min-height:auto;min-width:auto}}