/* gtr1105-a11y-ca 2026-11-05: WCAG 2.2 AA layer, loaded after site.css. */
.cx-skip{position:absolute;left:12px;top:-80px;z-index:10000;background:var(--ink);color:#fff;padding:12px 18px;font-weight:600;text-decoration:none}
.cx-skip:focus{top:12px}
#main-content{display:block;height:0;outline:0}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.opt:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
/* 44px tap targets */
.top nav a,.foot .links a{display:inline-flex;align-items:center;min-height:44px}
.foot .links{display:flex;flex-wrap:wrap;column-gap:18px}.foot .links a{margin-right:0}
.back{min-height:44px;padding:0 6px}
summary{min-height:44px;display:flex;align-items:center}
.opt{min-height:44px}
.check input{min-width:20px;min-height:20px}
/* notice at collection, privacy request form, tables */
.cx-nac{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);font-size:13px;line-height:1.5;color:#3d3d3d;background:var(--soft)}
.cx-form{margin-top:32px;padding:24px;border:1px solid var(--ink)}
.cx-form label{display:block;font-size:14px;font-weight:500;margin-bottom:4px}
.cx-form input:not([type=checkbox]),.cx-form select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #767676;border-radius:0;font:inherit;background:#fff}
.cx-form input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:6px;accent-color:var(--red)}
.cx-btn{min-height:44px;background:var(--red);color:#fff;border:0;border-radius:0;padding:12px 20px;font:600 16px Geist,sans-serif;cursor:pointer}
.cx-help{font-size:13px;color:var(--grey)}
.cx-hp{position:absolute;left:-9999px}
.cx-ok{padding:10px 12px;border-left:4px solid #1f7a3a;background:#eaf6ee}
.cx-err{padding:10px 12px;border-left:4px solid var(--red);background:#fdecea}
.cx-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
.cx-table caption{text-align:left;font-weight:600;margin-bottom:6px}
.cx-table th,.cx-table td{border:1px solid var(--line);padding:8px;vertical-align:top;text-align:left}
.prose ul{margin:0 0 16px 20px}.prose h3{margin:20px 0 8px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.cx-table{display:block;overflow-x:auto;max-width:100%}
.cx-table th,.cx-table td{min-width:8rem}
/* 44px: header brand + footer Shak credit (icon stays 30x30; padding only) */
.brand{display:inline-flex;align-items:center;min-height:44px}
.footer-shak{display:inline-flex;padding:7px}
