/* Contacto — formulario y qué pasa después. */

.hero-x{position:relative;overflow:hidden;padding:clamp(48px,6vw,80px) 0 clamp(40px,5vw,60px)}
.hero-x::after{content:"";position:absolute;right:-20%;top:-40%;width:66%;height:96%;
  background:radial-gradient(circle closest-side,rgba(15,143,131,.34),rgba(8,34,56,0));pointer-events:none}
.hero-x .wrap{position:relative;z-index:2}
.hero-x h1{max-width:16ch;font-size:clamp(2.1rem,4.4vw,3.2rem)}
.hero-x .texto-l{margin-top:20px;color:#C4D4E1;max-width:52ch}

/* --- formulario --- */
.forma{display:grid;gap:18px}
.campo{display:grid;gap:7px}
.campo label{font-size:.95rem;font-weight:600;letter-spacing:-.01em}
.campo .ayuda{font-size:.86rem;color:var(--gris);font-weight:400}
.campo input,.campo select,.campo textarea{
  font:inherit;font-size:1rem;color:var(--navy);background:#fff;
  border:1px solid var(--linea);border-radius:var(--radio-s);padding:13px 14px;width:100%}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--teal);outline:2px solid rgba(15,143,131,.25);outline-offset:0}
.campo input[aria-invalid="true"],.campo textarea[aria-invalid="true"],.campo select[aria-invalid="true"]{border-color:#B4402F}
.error{font-size:.86rem;color:#B4402F;min-height:0}
.dupla{display:grid;gap:18px}

fieldset{border:0;padding:0;margin:0}
legend{font-size:.95rem;font-weight:600;letter-spacing:-.01em;padding:0;margin-bottom:10px}
.opciones{display:flex;flex-wrap:wrap;gap:9px}
.opcion{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid var(--linea);
  border-radius:99px;background:#fff;font-size:.95rem;cursor:pointer}
.opcion input{accent-color:var(--teal);width:15px;height:15px;margin:0}
.opcion:has(input:checked){border-color:var(--teal);background:#EAF8F1}

.consentimiento{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;
  padding-top:6px;font-size:.93rem;color:var(--gris);line-height:1.5}
.consentimiento input{accent-color:var(--teal);width:16px;height:16px;margin-top:3px}

/* trampa para bots: fuera de pantalla, no display:none */
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.aviso-envio{margin-top:6px;padding:14px 16px;border-radius:var(--radio-s);font-size:.96rem;display:none}
.aviso-envio.visible{display:block}
.aviso-envio.ok{background:#EAF8F1;border-left:2px solid var(--mint);color:var(--navy)}
.aviso-envio.mal{background:#FBEDEA;border-left:2px solid #B4402F;color:#7A2B1F}

/* --- qué pasa después --- */
.despues{display:grid;gap:0;border-top:1px solid var(--linea)}
.despues div{padding:18px 0;border-bottom:1px solid var(--linea)}
.despues b{display:block;font-weight:600;font-size:1.04rem}
.despues span{font-size:.94rem;color:var(--gris)}
.canal{margin-top:clamp(28px,3.6vw,44px);padding-top:22px;border-top:2px solid var(--navy)}
.canal b{display:block;font-weight:600}
.canal a{color:var(--teal-texto)}

@media (min-width:720px){
  .dupla{grid-template-columns:1fr 1fr}
}
@media (min-width:900px){
  .contacto-rejilla{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(40px,5vw,80px);align-items:start}
}
