/* Formulario de contacto — sección oscura #contacto */
.contact{padding:100px 0}
.contact-layout{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;gap:76px;align-items:start}
.contact-copy h2{font:470 46px/1.08 var(--nv-font-display);letter-spacing:-.03em;margin:14px 0 0;max-width:520px}
.contact-copy>p{font:400 17px/1.6 var(--nv-font-text);color:#a9b6c3;margin:22px 0 0;max-width:470px}
.contact-facts{margin:38px 0 0;display:grid;gap:22px}
.contact-facts div{padding-top:18px;border-top:1px solid #252c34}
.contact-facts dt{font:600 9.5px/1 var(--nv-font-mono);letter-spacing:.11em;text-transform:uppercase;color:#71808f;margin-bottom:9px}
.contact-facts dd{margin:0;font:400 14px/1.6 var(--nv-font-text);color:#cfd8e1}
.contact-facts a{color:#8fd8e6!important;text-decoration:none!important}
.contact-facts a:hover{color:#fff!important;text-decoration:underline!important}

.contact-card{background:#fff;border-radius:26px;padding:38px 36px;box-shadow:0 32px 80px rgba(0,0,0,.34)}
.contact-form{display:grid;gap:18px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.cf-field label{font:500 12.5px/1.3 var(--nv-font-text);color:var(--nv-gray-800)}
.cf-field label span{color:var(--nv-color-electric)}
.cf-field label small{font-weight:400;color:var(--nv-text-muted)}
.cf-field input,.cf-field select,.cf-field textarea{
  width:100%;box-sizing:border-box;padding:12px 14px;
  border:1px solid var(--nv-border);border-radius:12px;background:#fff;
  font:400 14.5px/1.4 var(--nv-font-text);color:var(--nv-text-primary);
  outline:none;transition:border-color .16s var(--nv-ease),box-shadow .16s var(--nv-ease);
}
.cf-field textarea{resize:vertical;min-height:104px}
.cf-field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235F6977' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{
  border-color:var(--nv-color-electric);box-shadow:0 0 0 3px var(--nv-surface-tint)}
.cf-field input[aria-invalid="true"],.cf-field textarea[aria-invalid="true"]{
  border-color:var(--nv-color-error);box-shadow:0 0 0 3px var(--nv-tint-error)}
.cf-error{font:400 11.5px/1.35 var(--nv-font-text);color:var(--nv-color-error)}

/* trampa antispam: fuera de vista, fuera del foco, invisible para lectores */
.cf-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.cf-consent{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;margin-top:2px}
.cf-consent input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--nv-color-electric);flex:0 0 auto}
.cf-consent label{font:400 12.5px/1.5 var(--nv-font-text);color:var(--nv-text-secondary)}
.cf-consent a{color:var(--nv-color-electric)}
.cf-consent.cf-consent--error label{color:var(--nv-color-error)}

.cf-submit{width:100%;margin-top:6px}
.cf-submit[disabled]{opacity:.6;cursor:progress}
.cf-status{margin:0;font:500 13px/1.5 var(--nv-font-text);min-height:1px}
.cf-status.ok{color:var(--nv-color-success)}
.cf-status.bad{color:var(--nv-color-error)}
.cf-note{font:400 12px/1.5 var(--nv-font-text);color:var(--nv-text-muted);margin:0}

@media(max-width:980px){
  .contact-layout{grid-template-columns:1fr;gap:46px}
  .contact-copy h2{font-size:40px}
}
@media(max-width:680px){
  .contact{padding:76px 0}
  .contact-copy h2{font-size:33px}
  .contact-card{padding:26px 22px;border-radius:20px}
  .cf-row{grid-template-columns:1fr}
}
