*{box-sizing:border-box}
:root{--ink:#151515;--muted:#666;--paper:#fff;--bg:#f2f0eb;--line:#d9d5cd;--accent:#8b1111}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.5}
.site-header{background:#111;color:#fff;padding:28px 18px;border-bottom:5px solid var(--accent)}
.brand{max-width:1050px;margin:auto;display:flex;align-items:center;gap:22px}
.brand img{width:115px;height:115px;object-fit:cover;border-radius:50%;background:#fff}
.org{font-size:20px;letter-spacing:3px}
h1{margin:4px 0;font-size:28px}
.site-header p{margin:0;color:#ddd}
.container{max-width:1050px;margin:28px auto;padding:0 16px}
.notice{background:#fff;padding:16px 20px;border-left:5px solid var(--accent);box-shadow:0 2px 8px #0001;margin-bottom:20px}
.notice span{display:block;color:var(--muted);font-size:14px}
form{background:var(--paper);padding:26px;box-shadow:0 4px 18px #00000012}
section{border-bottom:1px solid var(--line);padding:0 0 26px;margin-bottom:26px}
h2{font-size:20px;margin:0 0 18px;color:#222}
.grid{display:grid;gap:16px}.two{grid-template-columns:1fr 1fr}
.full{grid-column:1/-1}
label{display:block;font-weight:bold;font-size:15px}
input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid #aaa;border-radius:5px;padding:11px 12px;font:inherit;background:#fff}
textarea{min-height:105px;resize:vertical}
fieldset{border:1px solid var(--line);padding:16px;margin:16px 0;border-radius:6px}
legend{font-weight:bold;padding:0 6px}
.choices{display:flex;flex-wrap:wrap;gap:16px;margin:8px 0 12px}
.choices label{font-weight:normal}
.choices input,.consent input{display:inline-block;width:auto;margin-right:6px}
.uploads{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.uploads label{padding:14px;border:1px dashed #aaa;border-radius:6px}
input[type=file]{border:0;padding-left:0}
.declaration{font-style:italic}
.declaration-list{padding-left:25px}
.consent{font-weight:normal;background:#f8f6f1;padding:14px;border-radius:6px}
.muted,.privacy{color:var(--muted);font-size:13px}
button{width:100%;border:0;background:#111;color:#fff;padding:15px;border-radius:6px;font:700 17px Georgia,serif;cursor:pointer}
button:hover{background:#333}
footer{text-align:center;padding:28px 10px;color:#555;font-size:14px}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}
@media(max-width:700px){.brand{align-items:flex-start}.brand img{width:80px;height:80px}.org{font-size:14px;letter-spacing:1px}h1{font-size:21px}.two,.uploads{grid-template-columns:1fr}form{padding:18px}.container{padding:0 10px}}
