/* Contacto: una sola capa local; la cabecera conserva su hoja compartida. */
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; background: #fff; color: #142238; font: 16px/1.6 "Instrument Sans", system-ui, sans-serif; }
a { color: #214e78; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid #a63f48; outline-offset: 4px; }
[hidden] { display: none; }
.contact-main { width: min(760px, calc(100% - 40px)); margin: 0 auto; padding: clamp(36px, 7vw, 72px) 0; }
.contact-header { margin-bottom: 28px; }
.contact-eyebrow { margin: 0 0 10px; color: #a63f48; font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
h1, h2 { color: #142238; font-family: Georgia, serif; line-height: 1.1; }
h1 { margin: 0 0 18px; font-size: clamp(38px, 7vw, 58px); font-weight: 500; }
h2 { margin: 0 0 12px; font-size: 27px; }
.contact-header p { max-width: 660px; }
.contact-lead { margin: 0 0 12px; font-size: 19px; color: #31465d; }
.contact-note, .contact-help { color: #4b5c70; font-size: 14px; }
.contact-note { margin: 12px 0; }
.contact-form { display: grid; gap: 22px; padding: clamp(20px, 4vw, 32px); border: 1px solid #d7e0e9; border-top: 4px solid #214e78; border-radius: 14px; background: #f8fafc; }
.contact-field { display: grid; gap: 8px; font-weight: 700; }
.contact-field input, .contact-field textarea { width: 100%; min-width: 0; border: 1px solid #9eafc1; border-radius: 8px; padding: 12px; background: #fff; color: #142238; font: 400 16px/1.5 "Instrument Sans", system-ui, sans-serif; }
.contact-field textarea { resize: vertical; min-height: 200px; }
.contact-field :user-invalid { border-color: #a63f48; }
.contact-help { margin: 0; font-weight: 400; }
.contact-submit, .manual-alta__alias button { min-height: 48px; border: 1px solid #214e78; border-radius: 9px; padding: 12px 20px; background: #214e78; color: #fff; font: 700 16px/1.4 "Instrument Sans", system-ui, sans-serif; cursor: pointer; }
.contact-submit { justify-self: start; }
.contact-submit:hover, .manual-alta__alias button:hover { background: #173b5d; }
.contact-submit:disabled { cursor: wait; opacity: .7; }
.contact-status { margin: 0; padding: 14px 16px; border: 1px solid #b6c9dd; border-radius: 9px; background: #edf3f8; color: #214e78; overflow-wrap: anywhere; }
.contact-status[data-state="error"] { border-color: #d5a3a7; background: #fff4f4; color: #842c35; }
.contact-status[data-state="success"] { border-color: #7d9cb9; background: #eaf2f9; color: #173b5d; }
.contact-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.manual-alta { margin-bottom: 28px; padding: 24px; border: 1px solid #bdcad7; border-radius: 14px; background: #edf3f8; }
.manual-alta p, .manual-alta li { color: #31465d; font-size: 15px; }
.manual-alta ol { padding-left: 22px; }
.manual-alta li + li { margin-top: 10px; }
.manual-alta__alias { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 14px; border: 1px solid #d7e0e9; border-radius: 10px; background: #fff; }
.manual-alta__alias span { font-size: 13px; }
.manual-alta__alias strong { color: #214e78; overflow-wrap: anywhere; }
.manual-alta__alias button { margin-left: auto; font-size: 14px; }
.manual-alta__status { color: #214e78; font-weight: 700; }
.contact-footer { border-top: 1px solid #d7e0e9; padding: 30px 20px; background: #f8fafc; font-size: 14px; }
.contact-footer > div { width: min(760px, 100%); margin: auto; }
.contact-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.contact-footer p { margin: 18px 0 0; color: #4b5c70; }
@media (max-width: 480px) { .contact-main { width: calc(100% - 32px); } .contact-form { padding: 18px; gap: 20px; } .contact-submit { width: 100%; } .manual-alta { padding: 18px; } }
