/* ESFinanciero — Contacto · v4.7 | isolate form CSS; load after site styles */
.contact-page{
  background:radial-gradient(circle at 1% 19%,rgba(49,93,125,.045),transparent 36%),linear-gradient(180deg,#ffffff 0%,#f7f9fb 100%);
  padding-bottom:112px;
}
.contact-page .contact-grid{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(36px,5vw,78px);
  align-items:start;
}
.contact-page .contact-grid > div:first-child{padding-top:40px;min-width:0}
.contact-page .contact-grid > div:first-child h1{font-size:clamp(2.25rem,3.6vw,3.6rem);line-height:1.08;letter-spacing:-.038em;margin-bottom:22px}
.contact-page .contact-grid > div:first-child p{font-size:1.03rem;line-height:1.8;max-width:460px}
.contact-page .lead-contact-box{
  min-width:0;
  padding:clamp(25px,3vw,42px);
  border-radius:24px;
  background:#ffffff;
  border:1px solid #e0e8ef;
  box-shadow:0 24px 60px rgba(20,43,61,.075);
}
.contact-page .esf-form-kicker{
  color:#315d7d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:11px;
}
.contact-page .esf-form-title{
  font-size:clamp(1.45rem,2vw,1.68rem);
  letter-spacing:-.025em;
  line-height:1.22;
  font-weight:750;
  color:#253c51;
  margin:0 0 9px;
}
.contact-page .esf-form-intro{color:#687682;font-size:.91rem;line-height:1.6;margin:0 0 25px;max-width:520px}
.contact-page .esf-honeypot, .contact-page .esf-honeypot[hidden]{display:none!important}
.contact-page .esf-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.contact-page .esf-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0}
.contact-page .esf-field--full{grid-column:1/-1}
.contact-page .esf-field label{display:block;margin:0;color:#253c51;font-size:.86rem;font-weight:700;line-height:1.35}
.contact-page .esf-field :is(input,select,textarea){
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100%;
  min-width:0;
  height:49px;
  padding:0 15px;
  color:#1e3447;
  background-color:#fdfefe;
  font:inherit;
  font-size:.91rem;
  font-weight:400;
  line-height:1.5;
  border:1px solid #cfdae4;
  border-radius:11px;
  box-shadow:0 1px 1px rgba(23,45,62,.015);
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.contact-page .esf-field :is(input,textarea)::placeholder{color:#90a0ac;opacity:1}
.contact-page .esf-field :is(input,select,textarea):hover{border-color:#b6c8d5}
.contact-page .esf-field :is(input,select,textarea):focus{outline:0;border-color:#315d7d;box-shadow:0 0 0 3px rgba(49,93,125,.11);background:#fff}
.contact-page .esf-field select{padding-right:37px;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="%23617381" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="m6 9 6 6 6-6"/%3E%3C/svg%3E');background-position:right 13px center;background-repeat:no-repeat;cursor:pointer}
.contact-page .esf-field textarea{padding:13px 15px;min-height:116px;height:116px;resize:vertical}
.contact-page .esf-consent{display:flex;gap:11px;align-items:flex-start;margin:24px 0 0;font-size:.81rem;line-height:1.55;color:#526473;cursor:pointer}
.contact-page .esf-consent input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:#253c51;cursor:pointer}
.contact-page .esf-form-status{color:#ad3934;font-size:.85rem;line-height:1.45;margin:9px 0 0;min-height:0}
.contact-page .esf-form-status:empty{display:none}
.contact-page #esf-general-send{
  width:100%;min-height:52px;margin:20px 0 0;padding:12px 24px;border:0;border-radius:11px;
  background:#253c51;color:#fff;font:inherit;font-size:.94rem;font-weight:750;
  box-shadow:0 9px 18px rgba(37,60,81,.13);
  cursor:pointer;transition:background .2s,transform .2s;
}
.contact-page #esf-general-send:hover{background:#315d7d;transform:translateY(-1px)}
.contact-page #esf-general-send:focus-visible{outline:3px solid #6d95ac;outline-offset:2px}
.contact-page #esf-general-send:disabled{opacity:.68;cursor:progress;transform:none}
.contact-page .esf-legal{font-size:.72rem;line-height:1.65;color:#81909c;margin:11px 0 0}
.contact-page .esf-alternative{margin-top:26px;padding-top:22px;border-top:1px solid #e5ecf1;display:grid;gap:12px}
.contact-page .esf-alternative>span{font-size:.84rem;color:#5a6975;font-weight:650}
.contact-page .esf-alternative .btn{
  width:100%;min-height:49px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #cad7e1;border-radius:11px;
  padding:11px 15px;background:#fff;color:#253c51;font-size:.9rem;font-weight:750;
  box-shadow:none;transition:background .2s,border-color .2s;
}
.contact-page .esf-alternative .btn:hover{background:#f4f8fb;border-color:#8ea9bc}
.contact-page .esf-alternative p{font-size:.79rem;line-height:1.6;overflow-wrap:anywhere;margin:0;color:#7b8994}
.contact-page .esf-alternative p a{color:#315d7d;text-decoration:none}
.contact-page .esf-alternative p a:hover{text-decoration:underline}
.contact-page .esf-success{text-align:center;padding:35px 8px}
.contact-page .esf-success[hidden]{display:none!important}
.contact-page .esf-success .esf-check{width:56px;height:56px;border-radius:50%;background:#e4f3ea;color:#23754b;display:grid;place-items:center;margin:0 auto 20px;font-size:1.7rem}
.contact-page .esf-success h2{font-size:1.65rem;margin-bottom:8px}
.contact-page .esf-success p{font-size:.93rem;line-height:1.7}
@media(max-width:980px){
  .contact-page .contact-grid{grid-template-columns:1fr;gap:32px}
  .contact-page .contact-grid>div:first-child{padding:0}
  .contact-page .contact-grid>div:first-child p{max-width:680px}
  .contact-page .lead-contact-box{max-width:780px;width:100%}
}
@media(max-width:600px){
  .contact-page{padding-bottom:70px}
  .contact-page .lead-contact-box{padding:24px 19px;border-radius:19px}
  .contact-page .esf-fields-grid{grid-template-columns:1fr;gap:17px}
  .contact-page .esf-field--full{grid-column:auto}
  .contact-page .contact-grid>div:first-child h1{font-size:clamp(2.05rem,8vw,2.65rem)}
  .contact-page .contact-grid>div:first-child p{font-size:.98rem;line-height:1.7}
  .contact-page .esf-form-title{font-size:1.43rem}
  .contact-page .esf-form-intro{margin-bottom:22px}
}
