.contact-hero{background:#f8fafc url('header.jpg') center/cover no-repeat;min-height:390px;padding:38px max(4vw,24px);display:flex;align-items:center}
.contact-hero>div{max-width:670px}.contact-hero h1{font-size:clamp(30px,3vw,48px);line-height:1.12;margin:0 0 22px}.contact-hero h1 span{color:#0098d5}.contact-hero p{max-width:620px;font-size:18px;line-height:1.45}.contact-hero-actions{display:flex;gap:22px;margin-top:38px}
.contact-main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:72px;padding:64px max(4vw,24px);align-items:start}.contact-main h2{font-size:27px;margin-bottom:10px}.contact-form-panel>p,.contact-details>p{font-size:16px;color:#414651}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.contact-form label{font-size:13px;font-weight:700;color:#303640}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cfd6df;background:#fff;border-radius:4px;padding:13px 14px;font:inherit;color:#151515}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #0098d5;outline-offset:1px}.contact-form .wide{grid-column:1/-1}.contact-consent{display:flex;align-items:flex-start;gap:8px;font-weight:400!important}.contact-consent input{width:17px;height:17px;margin:1px 0 0}.contact-submit{border:0;border-radius:4px;padding:15px;background:linear-gradient(90deg,#151d74,#057bd0);color:#fff;text-transform:uppercase;font-weight:800;cursor:pointer}.contact-submit span{float:right}.contact-submit:hover{background:#0399de}.contact-success{background:#e7f7ef;border-left:4px solid #188957;padding:13px;color:#174c34!important}.contact-success a{text-decoration:underline}.contact-security{font-size:14px!important;margin:18px 0 0}
.contact-details{border-left:1px solid #e1e5eb;padding-left:44px}.contact-details>article{display:flex;gap:20px;margin-top:34px}.contact-details>article>img{width:38px;height:38px;object-fit:contain}.contact-details h3{font-size:16px;margin:0 0 7px}.contact-details article p{margin:2px 0 18px;line-height:1.45}.contact-details article a{color:#076db2}.contact-social{display:flex;gap:14px;margin-top:14px}.contact-social img{width:35px;height:35px}.contact-social a{transition:transform .2s}.contact-social a:hover{transform:translateY(-3px)}
.contact-details>article:nth-of-type(2){margin-top:34px;margin-bottom:34px}.contact-details>article:nth-of-type(3){margin-top:0}
.contact-locations{padding:36px max(4vw,24px) 65px}.contact-locations>h2{text-align:center;font-size:27px}.contact-locations>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}.contact-locations article{min-height:210px;padding:42px;background:linear-gradient(100deg,#061a48dd,#0b5794cc),url('header 2.jpg') center/cover;color:#fff;border-radius:7px}.contact-locations span{font-size:20px;font-weight:800;text-transform:uppercase}.contact-locations p{margin:12px 0 28px}.contact-locations a{display:inline-block;border-bottom:2px solid #26b7ee;font-weight:700}
@media(max-width:850px){.contact-main{grid-template-columns:1fr;gap:45px}.contact-details{border-left:0;border-top:1px solid #e1e5eb;padding:40px 0 0}.contact-hero>div{background:#ffffffd9;padding:24px}.contact-hero-actions{margin-top:26px}.contact-locations article{padding:30px}}
@media(max-width:560px){.contact-hero{padding:24px 20px;min-height:440px}.contact-hero-actions{flex-direction:column;align-items:stretch}.contact-main{padding:42px 20px}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1}.contact-locations{padding:30px 20px 48px}.contact-locations>div{grid-template-columns:1fr}}

/* Una sola ubicación: ocupa el ancho útil y queda centrada. */
.contact-locations>div{display:block;width:100%;max-width:1280px;margin:26px auto 0}
.contact-locations>div>article{display:block;width:100%;max-width:none;margin:0 auto}

/* Banner compacto y acciones fuera de la imagen. */
.contact-hero{height:360px;min-height:360px;padding:28px max(4vw,24px)}
.contact-hero p{margin-bottom:0}
.contact-action-strip{margin:24px max(4vw,24px) 0;padding:24px 32px;background:#f6f7fa}
.contact-action-strip .contact-hero-actions{margin:0;flex-wrap:wrap}
@media(max-width:900px){.contact-hero{height:330px;min-height:330px}}
@media(max-width:560px){.contact-hero{height:300px;min-height:300px;padding:20px}.contact-hero>div{padding:14px}.contact-hero p{font-size:15px}.contact-hero h1{margin-bottom:16px}.contact-action-strip{margin:20px 20px 0;padding:20px}.contact-action-strip .contact-hero-actions{gap:14px}}
/* Integración del formulario suministrado; conserva sus columnas y validación. */
.contact-ifx-panel{grid-column:1/-1;min-width:0;scroll-margin-top:110px}
.contact-ifx-panel .ifx{border-radius:8px}
.contact-ifx-panel .ifx [hidden]{display:none!important}
.contact-main:has(.contact-ifx-panel){grid-template-columns:minmax(0,1fr);gap:40px}
.contact-main:has(.contact-ifx-panel)>.contact-details{border-left:0;padding-left:0}

/* Canales de contacto: redes a la derecha del teléfono. */
.contact-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,1fr);column-gap:48px}
.contact-details>h2,.contact-details>p{grid-column:1/-1}
.contact-details>article{grid-column:1;min-width:0}
.contact-details article a{overflow-wrap:anywhere}
.contact-social-column{grid-column:2;grid-row:3;margin-top:34px}
.contact-social{flex-wrap:wrap}
@media(max-width:560px){
 .contact-details{grid-template-columns:minmax(0,1fr) auto;column-gap:20px}
 .contact-social-column{max-width:90px}
 .contact-social{gap:10px}
}
@media(max-width:360px){
 .contact-details{grid-template-columns:minmax(0,1fr)}
 .contact-social-column{grid-column:1;grid-row:auto;max-width:none;margin-top:20px}
}

