/* Formulario de contacto tradicional (se suma a /css/estilo.css) */
.ct{display:grid;grid-template-columns:.85fr 1.15fr;grid-template-areas:"intro form" "datos form";grid-template-rows:auto 1fr;gap:1rem 3rem;align-items:start}
.ct__intro{grid-area:intro}.ctf{grid-area:form}.ct__datos{grid-area:datos}
.ct__datos{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:1rem}
.ct__datos span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--gris);margin-bottom:.15rem}
.ct__datos a{font-weight:600;text-decoration:none;border-bottom:2px solid var(--naranja)}
.ctf{background:var(--nieve);border:1px solid var(--linea);border-radius:var(--r);padding:clamp(1.4rem,3.5vw,2.4rem)}
.ctf__env{margin-top:.4rem;min-width:200px}
.ctf__ok{margin:1rem 0 0;padding:.8rem 1rem;background:#fff;border-left:3px solid var(--naranja);font-size:.9rem}
.ctf .aviso{margin:.2rem 0 1rem}
@media (max-width:900px){.ct{grid-template-columns:1fr;grid-template-areas:"intro" "form" "datos";grid-template-rows:auto;gap:1.4rem}}
@media (max-width:760px){.ctf__env{width:100%}}
/* resalta el asunto cuando llega completado desde un servicio */
@keyframes asunto-nuevo{0%{box-shadow:0 0 0 0 rgba(255,123,0,.55)}100%{box-shadow:0 0 0 10px rgba(255,123,0,0)}}
.campo--nuevo input{border-color:var(--naranja);animation:asunto-nuevo 1.2s ease-out 2}
