.contact{background:#de241e;color:#fff;padding:clamp(56px,8vw,104px) var(--pad-x)}
.contact__in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr minmax(0,666px);gap:clamp(32px,6vw,96px);align-items:center}
.contact__title{margin:0 0 clamp(20px,3vw,34px);font-size:clamp(38px,4.3vw,55px);font-weight:700;line-height:1;letter-spacing:-.035em}
.contact__intro{margin:0 0 clamp(26px,3vw,40px);max-width:440px;font-size:clamp(14px,1.05vw,15.5px);line-height:1.65;font-weight:400}

.contact__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.contact__item{display:flex;align-items:center;gap:16px}
.contact__icon{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26)}
.contact__icon svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact__label{display:block;margin-bottom:3px;font:500 9.5px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.contact__value{display:block;font-size:16px;font-weight:600;line-height:1.3}
.contact__sub{display:block;font-size:13px;font-weight:400;line-height:1.4;color:rgba(255,255,255,.9)}
.contact a:hover{text-decoration:underline}

/* Tarjeta del formulario */
.contact__card{background:#fff;color:#222;border-radius:18px;padding:clamp(24px,3.4vw,44px) clamp(20px,2.6vw,32px) clamp(24px,3vw,36px);min-height:300px;box-shadow:0 30px 60px rgba(90,0,0,.28)}

/* Formulario de contacto (guarda en la base de datos y avisa por correo: api/contacto.php) */
.lead-form{font-family:var(--font)}
.lead-form__field{margin-bottom:12px}
.lead-form label{display:block;margin-bottom:5px;font-size:12px;font-weight:600;color:#555}
.lead-form__req{color:var(--red);margin-left:2px}
.lead-form input,.lead-form textarea{display:block;width:100%;box-sizing:border-box;padding:12px 16px;background:#f8f9fb;border:1px solid #e6e8ec;border-radius:12px;font:400 14px/1.4 var(--font);color:#222;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:#8b909a}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(224,36,30,.12)}
.lead-form textarea{min-height:100px;resize:vertical}
.lead-form [aria-invalid="true"]{border-color:#c0000a;background:#fff6f6}
.lead-form__error{margin:4px 0 0;font-size:12px;font-weight:500;color:#c0000a}
.lead-form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lead-form__btn{display:block;width:100%;margin-top:18px;padding:14px 20px;background:var(--red);color:#fff;border:0;border-radius:12px;font:700 13px/1 var(--font);cursor:pointer;box-shadow:0 8px 16px rgba(224,36,30,.32);transition:background .2s,transform .2s,opacity .2s}
.lead-form__btn:hover{background:#b8120c;transform:translateY(-1px)}
.lead-form__btn[disabled]{opacity:.65;cursor:wait;transform:none}
.lead-form__status{margin:12px 0 0;font-size:13px;font-weight:500;line-height:1.5;text-align:center;color:#c0000a}
.lead-form__status:empty{display:none}
.lead-form__done{font-size:15px;font-weight:500;line-height:1.6;text-align:center;padding:24px 0;color:#222}
.lead-form__done strong{display:block;margin-bottom:6px;font-size:22px;font-weight:700;color:var(--red);letter-spacing:-.01em}

@media(max-width:860px){
  .contact__in{grid-template-columns:1fr}
  .contact__intro{max-width:none}
}

/* ===== Tablet (721–1024px) ===== */
@media(min-width:721px) and (max-width:1024px){
  .contact__in{grid-template-columns:1fr;gap:40px}
  .contact__title{font-size:clamp(30px,7vw,64px)}
  .contact__intro{max-width:90%;font-size:17px}
  .contact__list{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
  .contact__card{max-width:680px;width:100%;justify-self:start}
}

/* Centrado cuando la sección se apila (tablet y móvil) */
@media(max-width:1024px){
  .contact__info{text-align:center}
  .contact__title,.contact__intro{margin-left:auto;margin-right:auto}
  .contact__list{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:left}
  .contact__card{justify-self:center;margin-left:auto;margin-right:auto;width:100%;max-width:680px;box-sizing:border-box}
}