:root { --primary: #1a3a5c; --accent: #2e86c1; --text: #2c3e50; --border: #d5dbdb; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); font: 17px/1.7 Georgia, 'Times New Roman', serif; background: white; }
header { padding: 2.4rem 1.5rem 2rem; color: white; background: var(--primary); text-align: center; }
header img { height: 56px; width: auto; }
h1, h2, h3 { font-family: 'Libre Baskerville', Georgia, serif; line-height: 1.4; }
h1 { font-size: clamp(1.7rem, 4vw, 2.2rem); margin: .5rem 0; }
h2 { color: var(--primary); font-size: 1.4rem; margin: 2rem 0 .6rem; }
header p { margin: .4rem auto; max-width: 650px; }
nav { padding: .75rem 1rem; border-bottom: 1px solid var(--border); text-align: center; }
nav a { display: inline-block; margin: .25rem .65rem; }
a { color: #19699d; text-underline-offset: .15em; }
main { max-width: 800px; margin: auto; padding: 1.6rem 1.5rem 3rem; }
main > p:first-child { margin-top: 0; }
footer { border-top: 1px solid var(--border); background: #f7f9fb; padding: 1.5rem; text-align: center; font-size: .9rem; }
.field { margin: 1.2rem 0; }
.field > label { display: block; font-weight: bold; margin-bottom: .3rem; }
input[type=email], input[type=text], textarea { width: 100%; max-width: 100%; padding: .65rem; font: inherit; border: 1px solid #7d8995; border-radius: 2px; background: white; }
textarea { min-height: 130px; }
fieldset { margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--border); }
legend { font-weight: bold; padding: 0 .4rem; }
.choice { display: flex; align-items: flex-start; gap: .65rem; padding: .35rem 0; }
.choice input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .38rem; }
button { font: inherit; padding: .65rem 1.2rem; color: white; background: var(--primary); border: 2px solid var(--primary); border-radius: 2px; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
:focus-visible { outline: 3px solid #cb7b16; outline-offset: 3px; }
.small { font-size: .93rem; }
.privacy { border-top: 1px solid var(--border); margin-top: 2rem; padding-top: .5rem; }
.honeypot, [hidden] { display: none !important; }
#form-status:not(:empty) { padding: 1rem; border-left: 3px solid var(--primary); }
.draft { border-left: 3px solid #8b621e; padding: .6rem 1rem; background: #faf7ee; }
.placeholder { color: #59636d; font-style: italic; }
ul { padding-left: 1.5rem; }
@media (max-width: 450px) { main { padding: 1.2rem 1rem 2rem; } fieldset { padding: .8rem; } }
