body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, sans-serif; background:#fff; color:#222; }
.container { max-width: 1000px; margin: 0 auto; padding: 1.25rem; }
.site-header, .site-footer { background: #f6f7f9; border-bottom:1px solid #e5e7eb; }
.site-footer { border-top:1px solid #e5e7eb; border-bottom:0; }
.brand { font-weight:700; margin-right:1rem; text-decoration:none; color:#111; }
.nav a, .nav span { margin-right: 1rem; text-decoration:none; color:#111; }
.nav a:hover { text-decoration: underline; }
h1 { margin-top: 0.5rem; }
.btn { display:inline-block; padding: 0.6rem 1rem; border:1px solid #111; border-radius: 6px; text-decoration:none; background:#111; color:#fff; }
.form { display:grid; gap: 0.75rem; max-width: 560px; }
label { display:grid; gap:0.25rem; font-weight:600; }
input, textarea, select { padding:0.6rem; border:1px solid #d1d5db; border-radius:6px; font:inherit; }
textarea { min-height: 120px; }
.alert { padding:0.75rem 1rem; border-radius:6px; }
.alert.error { background:#fee2e2; color:#7f1d1d; }
.alert.success { background:#dcfce7; color:#14532d; }
.grid-2 { display:grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 800px) { .grid-2 { grid-template-columns: 1fr 1fr; } }
.captcha-placeholder { background:#f1f5f9; border:1px dashed #cbd5e1; padding:1rem; border-radius:6px; text-align:center; color:#475569; }
