
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:1.1875rem;line-height:1.5;color:#1d1d1d;background:#fff}
.skip{position:absolute;left:-9999px}
.inline{display:inline}
.skip:focus{left:1rem;top:1rem;background:#ffbf47;color:#1d1d1d;padding:.5rem 1rem;z-index:10}
header,main,footer{max-width:46rem;margin:0 auto;padding:1rem}
header{border-bottom:4px solid #1d1d1d;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.brand{font-weight:700;font-size:1.5rem;color:#1d1d1d;text-decoration:none}
footer{border-top:1px solid #b1b4b6;margin-top:3rem;font-size:1rem}
a{color:#1d4ed8;text-underline-offset:.15em}
a:visited{color:#4c2c92}
a:focus,button:focus,input:focus,select:focus,summary:focus,.table-scroll:focus{outline:3px solid #ffbf47;box-shadow:0 0 0 6px #1d1d1d;outline-offset:0}
h1{font-size:2rem;line-height:1.2;margin:1rem 0}
h2{font-size:1.5rem;margin:2rem 0 1rem}
.caption{color:#505a5f;font-size:1.1875rem;margin:0}
.field{margin:0 0 1.5rem}
label,legend{display:block;font-weight:700;margin-bottom:.25rem}
.hint{color:#505a5f;margin:0 0 .5rem}
input[type=text],input[type=email],input[type=date],input[type=number],input[type=password],select{font:inherit;padding:.5rem;border:2px solid #1d1d1d;min-height:2.75rem;width:100%;max-width:20rem}
input.money{max-width:12rem}
fieldset{border:0;padding:0;margin:0 0 1.5rem}
.choice{display:flex;align-items:flex-start;gap:.75rem;margin:.5rem 0}
.choice input{width:1.75rem;height:1.75rem;margin:0;flex:none}
.choice label{font-weight:400}
button,.button{font:inherit;font-weight:700;background:#00703c;color:#fff;border:0;box-shadow:0 2px 0 #002d18;padding:.6rem 1.25rem;min-height:2.75rem;cursor:pointer;text-decoration:none;display:inline-block}
button.secondary{background:#f3f2f1;color:#1d1d1d;box-shadow:0 2px 0 #929191}
.error-summary{border:5px solid #b00020;padding:1rem;margin:1rem 0 2rem}
.error-summary h2{margin-top:0}
.error-message{color:#b00020;font-weight:700;margin:0 0 .5rem}
.field.has-error{border-left:5px solid #b00020;padding-left:1rem}
.notice{border-left:10px solid #1d4ed8;padding:.5rem 1rem;margin:1rem 0;background:#f3f6fc}
.ok{border-left:10px solid #00703c;padding:.5rem 1rem;margin:1rem 0;background:#f3faf6}
ul.ok,ul.notice,.ok ul,.notice ul{padding-left:2.5rem}
table{border-collapse:collapse;width:100%;margin:1rem 0}
.table-scroll{overflow-x:auto;margin:1rem 0}
.table-scroll table{margin:0}
caption{text-align:left;font-weight:700;margin-bottom:.5rem}
th,td{border-bottom:1px solid #b1b4b6;padding:.5rem .25rem;text-align:left;vertical-align:top;overflow-wrap:break-word}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}
dl.summary{display:grid;grid-template-columns:minmax(8rem,1fr) 2fr;gap:.5rem 1rem}
dl.summary dt{font-weight:700}
dl.summary dd{margin:0}
.steps{padding-left:1.5rem}
header nav a{display:inline-block;padding:.5rem 0;margin-right:1rem}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.draft{background:#fff7bf;border:2px dashed #1d1d1d;padding:0 .25rem}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;overflow-wrap:anywhere}
@media (max-width:40rem){dl.summary{grid-template-columns:1fr}h1{font-size:1.6rem}table{font-size:1rem}th,td{padding:.5rem .125rem}}
@media print{header nav,footer,.skip,button{display:none}}
