:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: #14233c; background: #fff; line-height: 1.55; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 850px; margin: auto; padding: 28px 24px 40px; }
header { margin-bottom: 28px; }
.brand { font-size: .85rem; font-weight: 800; letter-spacing: .18em; color: #3f6d8e; }
h1 { font-size: clamp(1.7rem, 5vw, 2.5rem); line-height: 1.15; margin: 12px 0; }
h2 { font-size: 1.15rem; margin: 0 0 8px; }
p { margin: 8px 0; }
a { color: #184f75; text-underline-offset: .2em; }
.fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.field { margin-bottom: 22px; min-width: 0; }
.wide { grid-column: 1 / -1; }
label { display: block; margin-bottom: 7px; font-weight: 600; }
input:not([type=checkbox]), select, textarea { width: 100%; min-height: 48px; border: 1px solid #a7b2bf; border-radius: 6px; padding: 11px 12px; font: inherit; color: inherit; background: #fff; }
textarea { resize: vertical; }
input[type=file] { font-size: .9rem; }
:focus-visible { outline: 3px solid #2774a8; outline-offset: 3px; }
[aria-invalid=true] { border-color: #a92323; }
.help, .required-note { font-size: .88rem; color: #526071; }
.required-note { margin-bottom: 20px; }
.consent { display: flex; align-items: flex-start; gap: 12px; margin-top: 12px; }
.consent input { width: 20px; height: 20px; margin: 3px 0 0; flex-shrink: 0; }
.consent label { font-weight: 400; font-size: .93rem; }
.notice { padding: 18px; border: 1px solid #9eafbf; border-radius: 8px; background: #f1f5f8; margin-bottom: 25px; overflow-wrap: anywhere; }
.error { color: #7e1919; border-color: #d9aaaa; background: #fff5f4; }
.success { color: #1f533d; border-color: #8cba9d; background: #f0faf3; }
.field-error { color: #991c1c; font-size: .88rem; }
button { margin-top: 22px; border: 0; border-radius: 7px; padding: 15px 25px; font: inherit; font-weight: 600; background: #142b4a; color: white; cursor: pointer; }
button:disabled { opacity: .55; cursor: not-allowed; }
.trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[hidden] { display: none !important; }
:root[data-theme=dark] { color-scheme: dark; color: #edf2f8; background: #101c2c; }
[data-theme=dark] input:not([type=checkbox]), [data-theme=dark] select, [data-theme=dark] textarea { background: #18283c; border-color: #708198; }
[data-theme=dark] .help, [data-theme=dark] .required-note, [data-theme=dark] .brand { color: #bfccda; }
[data-theme=dark] a { color: #a9d9ff; }
[data-theme=dark] .notice { background: #22354a; border-color: #708198; }
[data-theme=dark] .error, [data-theme=dark] .field-error { color: #ffb5ae; }
[data-theme=dark] .success { background: #16362b; color: #c3f5d3; }
[data-theme=dark] button { background: #dceafa; color: #14233c; }
@media (max-width: 560px) { .fields { grid-template-columns: 1fr; } main { padding: 20px 16px 32px; } button { width: 100%; } }
