/* WCAG 2.2 AA engineering target; independent conformance review remains required. */
html{scroll-padding-top:1rem;scroll-behavior:auto}
[hidden]{display:none!important}
body{overflow-wrap:anywhere}
:focus-visible{outline:3px solid #1A2B4C!important;outline-offset:4px!important;box-shadow:0 0 0 2px #FDFBF7!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:10000;transform:translateY(-180%);padding:12px 18px;background:#1A2B4C;color:#FDFBF7}
.skip-link:focus{transform:none}
button,.button,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,summary{min-height:44px}
input,select,textarea{font:inherit;color:#1A2B4C;background:#fff;border:1px solid #657086}
input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px;accent-color:#1A2B4C;flex-shrink:0}
label.check{min-height:44px;align-items:center}
button:disabled{opacity:1;color:#535e70;background:#e8e8e8;cursor:not-allowed}
button,a,summary{touch-action:manipulation}
nav a,.site-footer a,footer>a{display:inline-flex;align-items:center;min-height:44px}
p a:not(.button),li a:not(.button){text-decoration:underline;text-underline-offset:.2em}
.small-note,.muted,figcaption,.footer-note{color:#48556b}
.site-footer .footer-note,.site-footer p{color:inherit}
.profile-photo{width:112px;height:112px;object-fit:cover;border-radius:50%;border:2px solid #657086}
.photo-panel{margin-block:1.5rem}.photo-panel button{margin:8px 12px 8px 0}
#message:empty{display:none}#message:not(:empty){padding:1rem;border:2px solid #1A2B4C;background:#FDFBF7;color:#1A2B4C}
#message.error{border-color:#8b2033;color:#751326}
.a11y-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-block:1rem}
.legal-copy{max-width:850px;margin:2rem auto;padding:1rem}.legal-copy h1{font-size:clamp(2rem,6vw,3.5rem)}
@media(max-width:640px){.columns,.cards,.two-grid,.three-grid,.footer-grid{grid-template-columns:1fr!important}input,textarea,select,fieldset{min-width:0;max-width:100%}nav{flex-wrap:wrap}.site-header{position:static!important}table{display:block;overflow-x:auto}.workspace-header{flex-wrap:wrap;gap:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){button,.button,input,select,textarea{border:1px solid ButtonText}.profile-photo{border:1px solid CanvasText}:focus-visible{outline:3px solid Highlight!important}}

