/* Technical baseline only. Each site's visual design belongs to assets/css/site.css. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:2rem}
body{margin:0}
img,picture{max-width:100%}
img{height:auto}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{touch-action:manipulation}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--focus-color,#176eaa);outline-offset:4px}
.skip-link{position:fixed;top:8px;left:8px;z-index:2000;transform:translateY(-200%);background:#fff;color:#111;padding:12px}
.skip-link:focus{transform:none}
.table-scroll{max-width:100%;overflow:auto}
.legal-prose{overflow-wrap:anywhere;line-height:1.7}
.legal-prose p,.legal-prose li{max-width:78ch}
.legal-prose table{border-collapse:collapse;min-width:500px;width:100%}
.legal-prose th,.legal-prose td{padding:12px;border:1px solid var(--line-color,#bbb);text-align:left;vertical-align:top}
.contact-form fieldset{min-width:0;margin:0;padding:0;border:0;display:grid;gap:12px}
.contact-form label{display:block}
.contact-form input,.contact-form textarea{width:100%;min-width:0;min-height:44px;padding:12px;border:1px solid var(--line-color,#999);border-radius:0;background:var(--field-background,#fff);color:var(--field-color,#111)}
.contact-form textarea{resize:vertical}
.contact-form button[type=submit]{min-height:46px}
.contact-form .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form[aria-busy=true] button[type=submit]{cursor:wait}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
