.contacto-v2 { box-sizing: border-box; width: min(100% - 2rem, 72rem); margin: 2rem auto 4rem; color: #f7f1e6; display: grid; gap: 2rem; }
.contacto-v2 *, .contacto-v2 *::before { box-sizing: border-box; }
.contacto-intro { grid-column: 1 / -1; }
.contacto-intro p { margin: .65rem 0 0; }
.contacto-formulario { min-width: 0; }
.contacto-v2 aside h2:first-child { margin-top: 0; }
.contacto-v2 h1 { margin: 0; line-height: 1.1; font-size: clamp(2rem, 5vw, 3.6rem); }
.contacto-v2 a { color: #f1d399; overflow-wrap: anywhere; text-decoration: underline; }
.contacto-v2 form, .contacto-v2 aside, #contact-success { background: #1d2428; border: 1px solid #806b48; padding: clamp(1rem, 3vw, 2rem); border-radius: .7rem; }
.contacto-v2 aside { align-self: start; min-width: 0; }
.contacto-fields { display: grid; gap: .75rem; }
.contacto-v2 label { display: block; margin: 0 0 .3rem; font-weight: 650; }
.contacto-v2 input, .contacto-v2 select, .contacto-v2 textarea { width: 100%; min-width: 0; min-height: 44px; background: #14191d; color: #f7f1e6; border: 1px solid #a59680; border-radius: .3rem; font: inherit; padding: .55rem .65rem; }
.contacto-v2 textarea { resize: vertical; }
.contacto-v2 textarea::placeholder { color: #c5baaa; }
.contacto-v2 :focus-visible { outline: 3px solid #e7c58a; outline-offset: 3px; }
.contacto-v2 [aria-invalid="true"] { border-color: #ffafa6; }
.contacto-error, .contacto-status { color: #ffb9ae; margin: .35rem 0 .6rem; overflow-wrap: anywhere; }
.contacto-error:empty, .contacto-status:empty { margin: 0; }
#contact-count, .contacto-privacy { color: #dfd5c6; font-size: .9rem; }
.contacto-submit { min-height: 44px; padding: .65rem 1.15rem; border: 0; border-radius: .3rem; background: #e7c58a; color: #14191d; font: inherit; font-weight: 700; cursor: pointer; }
.contacto-submit:disabled { opacity: .7; cursor: wait; }
.contacto-trampa { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); inset-inline-start: -10000px; }
#contact-success { overflow-wrap: anywhere; }
#contact-verification { max-width: 100%; }
@media (min-width: 700px) { .contacto-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 900px) { .contacto-v2 { grid-template-columns: minmax(0,1.75fr) minmax(0,1fr); } }
