:root { font: 17px system-ui, sans-serif; color: #243b2e; background: #f6f5ed; }
* { box-sizing: border-box; }
body { margin: 0; }
header { padding: 1rem max(1rem, calc((100% - 42rem) / 2)); background: #19382b; color: white; font: 1.45rem Georgia, serif; }
main { max-width: 44rem; margin: auto; padding: 1rem; }
h1, h2 { font-family: Georgia, serif; }
form { padding: 1rem; background: white; border: 1px solid #dce1d7; border-radius: .8rem; }
label { display: block; margin-bottom: .8rem; }
input:not([type=checkbox]) { display: block; width: 100%; margin-top: .3rem; padding: .65rem; border: 1px solid #879b8f; border-radius: .4rem; font: inherit; }
input[type=checkbox] { width: 1.1rem; height: 1.1rem; }
button { padding: .75rem 1rem; min-height: 44px; font: inherit; background: #244b37; color: white; border: 0; border-radius: .4rem; cursor: pointer; }
fieldset { border: 1px solid #b1bfb6; border-radius: .4rem; margin: .8rem 0; }
.fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .8rem; }
.notice { background: #e7efde; padding: .75rem; border-radius: .4rem; }
li { margin: 1rem 0; overflow-wrap: anywhere; }
@media (max-width: 32rem) { .fields { grid-template-columns: 1fr; } }
