* { box-sizing: border-box; }
body { margin: 0; background: #f7f6f1; color: #18302c; font: 18px/1.7 "Trebuchet MS", sans-serif; }
a { color: #126653; text-underline-offset: 4px; }
header, main, footer { max-width: 1050px; margin: auto; padding: 28px; }
header { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid #d8dfd8; }
.brand { font-weight: 800; text-decoration: none; color: #18302c; }
nav, .meta, footer { font-size: 14px; }
h1 { max-width: 760px; font: 600 clamp(34px, 5vw, 56px)/1.15 Georgia, serif; letter-spacing: -0.035em; }
h2 { font-size: 25px; line-height: 1.3; }
.eyebrow { font-size: 13px; letter-spacing: 0.13em; text-transform: uppercase; color: #526c62; }
.intro { max-width: 760px; font-size: 21px; color: #405b50; }
.help-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 32px; align-items: start; margin-top: 32px; }
.panel { background: #fff; border: 1px solid #d8dfd8; border-radius: 12px; padding: 26px; }
.panel h2 { margin-top: 0; }
.fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
label { font-size: 16px; font-weight: 600; }
input:not([type="checkbox"]), select, textarea { display: block; width: 100%; min-width: 0; margin-top: 6px; padding: 12px; border: 1px solid #788c81; border-radius: 6px; color: #18302c; background: #fff; font: inherit; }
textarea { resize: vertical; }
.wide { grid-column: 1 / -1; }
.consent { display: flex; align-items: start; gap: 12px; margin: 24px 0; font-weight: 400; }
.consent input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 4px; accent-color: #175d4b; }
.button { display: inline-block; min-height: 48px; padding: 12px 20px; background: #175d4b; color: #fff; border: 0; text-decoration: none; border-radius: 6px; font: inherit; font-weight: 600; cursor: pointer; }
.button:hover { background: #104636; }
.button:disabled { opacity: 0.65; cursor: wait; }
.meta, footer { color: #53655e; }
#submission-status[data-error="true"] { color: #903c27; }
footer { border-top: 1px solid #d8dfd8; margin-top: 40px; }
@media (max-width: 750px) { header { align-items: start; flex-direction: column; } header, main, footer { padding: 22px; } .help-layout, .fields { grid-template-columns: 1fr; } .panel { padding: 20px; } }
