:root { color: #0b0b0b; background: #f8f5ef; font: 1rem system-ui, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 43rem; margin: 0 auto; background: white; min-height: 100svh; }
header { background: #0b0b0b; color: white; padding: 2rem clamp(1.5rem, 6vw, 3rem); border-bottom: 1px solid #bfa070; }
header img { display: block; height: auto; filter: invert(1); }
h1 { margin: 1.25rem 0 0; font: 400 clamp(2.3rem, 8vw, 3.4rem)/1.05 Didot, Georgia, serif; }
section { padding: 1.5rem clamp(1.5rem, 6vw, 3rem) 3rem; }
#estado:empty { display: none; }
label { display: block; margin: 1rem 0 .45rem; font-weight: 550; }
small { color: #59534b; font-weight: normal; margin-left: .35rem; }
input, textarea { display: block; width: 100%; border: 1px solid #928576; border-radius: 0; padding: .7rem; font: inherit; }
textarea { resize: vertical; }
button { margin-top: 1.25rem; padding: .7rem 1.2rem; border: 1px solid #0b0b0b; background: #0b0b0b; color: white; font: inherit; cursor: pointer; }
button:disabled { opacity: .55; cursor: wait; }
:focus-visible { outline: 2px solid #84632e; outline-offset: 3px; }
