.formulario-contato { display: grid; gap: 20px; background: var(--cor-branco); border: 1px solid var(--cor-linha); border-top: 6px solid var(--cor-destaque); padding: clamp(20px, 3vw, 32px); }
.campo { display: grid; gap: 6px; }
.campo label { font-family: var(--fonte-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cor-tinta-2); }
.campo input, .campo select, .campo textarea {
    width: 100%; padding: 13px 14px; background: var(--cor-papel); border: 1px solid var(--cor-linha); border-bottom: 2px solid var(--cor-tinta);
    border-radius: 0; font-size: 1rem; color: var(--cor-tinta);
}
.campo textarea { resize: vertical; min-height: 130px; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; background: var(--cor-branco); border-color: var(--cor-tinta); border-bottom-color: var(--cor-destaque); box-shadow: inset 0 -2px 0 var(--cor-destaque); }
.campo--honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.campo-grupo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.campo__erro { font-size: 0.8125rem; color: var(--cor-erro); }
.campo.campo--invalido input, .campo.campo--invalido select, .campo.campo--invalido textarea { border-color: var(--cor-erro); }
.formulario-contato__feedback { display: none; margin-top: 18px; padding: 14px 18px; border-left: 4px solid; font-size: 0.95rem; }
.formulario-contato__feedback.visivel { display: block; }
.formulario-contato__feedback.sucesso { border-color: var(--cor-sucesso); background: #E8F2EA; color: var(--cor-sucesso); }
.formulario-contato__feedback.erro { border-color: var(--cor-erro); background: #F8E9E7; color: var(--cor-erro); }
@media (max-width: 560px) { .campo-grupo { grid-template-columns: 1fr; } }
