.contacto-section{background:#15448F;color:#fff;padding:100px 0 110px!important;overflow:hidden}
.contacto-layout{max-width:1750px;width:calc(100% - 130px);min-height:700px;margin:0 auto;display:grid;grid-template-columns:minmax(0,51fr) minmax(0,49fr);gap:5%;align-items:center}
.contacto-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.contacto-full-logo{display:block;width:min(100%,470px);height:auto;object-fit:contain}
.contacto-details{padding-left:10px}
.contacto-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.contacto-item{display:grid;grid-template-columns:67px 1fr;column-gap:23px;margin-bottom:28px;align-items:start}
.contacto-item svg{width:57px;height:57px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contacto-item:first-of-type svg{fill:#fff;stroke:#fff}.contacto-item:first-of-type svg circle{fill:#15448F;stroke:#15448F}
.contacto-item strong{display:block;font:800 clamp(20px,1.55vw,27px)/1.2 Arial,Helvetica,sans-serif;margin-bottom:13px}
.contacto-item p{font:400 clamp(18px,1.4vw,25px)/1.45 Calibri,Arial,Helvetica,sans-serif;margin:0}
.contacto-item a{color:inherit;text-decoration:none}.contacto-item a:hover{text-decoration:underline}
.contacto-yellow,.contacto-yellow a{color:#ffd21b}.contacto-yellow svg{stroke:#ffd21b;fill:#ffd21b}
.contacto-socials{display:flex;align-items:center;flex-wrap:wrap;gap:20px;color:#ffd21b;margin:31px 0 0 12px}
.contacto-socials strong{font:800 clamp(21px,1.7vw,29px) Arial,Helvetica,sans-serif}
.contacto-socials span{font:800 44px/1 Arial,Helvetica,sans-serif;min-width:35px;text-align:center}
@media(max-width:1100px){.contacto-layout{width:calc(100% - 70px);min-height:580px;gap:2%}.contacto-full-logo{width:350px}.contacto-item{grid-template-columns:47px 1fr;gap:15px;margin-bottom:20px}.contacto-item svg{width:40px;height:40px}.contacto-item strong{font-size:19px;margin-bottom:8px}.contacto-item p{font-size:17px}.contacto-socials span{font-size:33px}}
@media(max-width:700px){.contacto-section{padding:65px 0 85px!important}.contacto-layout{width:calc(100% - 36px);display:flex;flex-direction:column;gap:18px;min-height:0}.contacto-brand{width:100%;gap:0}.contacto-full-logo{width:360px;max-width:100%}.contacto-details{padding-left:0;width:100%}.contacto-item{grid-template-columns:42px 1fr;column-gap:13px;margin-bottom:23px}.contacto-item svg{width:35px;height:35px}.contacto-item strong{font-size:18px}.contacto-item p{font-size:16px}.contacto-socials{gap:14px;margin:28px 0 0}.contacto-socials strong{font-size:21px}.contacto-socials span{font-size:29px;min-width:24px}}

/* Los iconos sociales no deben mostrarse en Contacto. */
#contacto .contacto-socials, .contacto-section .contacto-socials {display:none!important}

/* Ajuste visual Contacto - 30 octubre 2026 */
#contacto.contacto-section{position:relative;isolation:isolate;background:#15448F!important;padding:75px 0 85px!important}
#contacto.contacto-section::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:auto 0 0;height:42%;background:radial-gradient(ellipse 37% 85% at 18% 112%,rgba(239,247,246,.35),transparent 95%),radial-gradient(ellipse 57% 100% at 54% 114%,rgba(0,166,193,.52),transparent 95%),radial-gradient(ellipse 36% 80% at 100% 113%,rgba(246,220,85,.33),transparent 95%)}
#contacto .contacto-layout{min-height:560px;gap:5%}
#contacto .contacto-full-logo{width:min(100%,320px)!important;max-width:320px!important}
#contacto .contacto-item{grid-template-columns:47px minmax(0,1fr);column-gap:18px;margin-bottom:27px}
#contacto .contacto-item svg{width:39px;height:39px}
#contacto .contacto-item strong{font-size:clamp(17px,1.18vw,21px);margin-bottom:8px;line-height:1.3}
#contacto .contacto-item p{font-size:clamp(15px,1.07vw,19px);line-height:1.55}
@media(max-width:1100px){#contacto .contacto-layout{min-height:480px}#contacto .contacto-full-logo{width:min(100%,265px)!important}}
@media(max-width:700px){#contacto.contacto-section{padding:55px 0 70px!important}#contacto.contacto-section::before{height:34%}#contacto .contacto-layout{min-height:0;gap:28px}#contacto .contacto-full-logo{width:min(100%,245px)!important}#contacto .contacto-item{grid-template-columns:36px minmax(0,1fr);column-gap:13px;margin-bottom:21px}#contacto .contacto-item svg{width:32px;height:32px}#contacto .contacto-item strong{font-size:17px}#contacto .contacto-item p{font-size:15px}}

/* Bandera canaria: tres tonos mas visibles, sin bordes ni cortes. */
.proyecto-section::before,
#contacto.contacto-section::before{
 content:""!important;position:absolute!important;pointer-events:none!important;z-index:-1!important;
 left:0!important;right:0!important;top:auto!important;bottom:0!important;height:48%!important;
 background:
 radial-gradient(ellipse 42% 88% at 13% 112%,rgba(255,255,255,.53) 0%,rgba(244,249,255,.34) 36%,transparent 96%),
 radial-gradient(ellipse 49% 95% at 53% 111%,rgba(53,188,225,.72) 0%,rgba(39,169,216,.46) 45%,transparent 98%),
 radial-gradient(ellipse 40% 91% at 102% 111%,rgba(255,220,69,.67) 0%,rgba(255,220,69,.35) 42%,transparent 97%)!important;
 background-repeat:no-repeat!important;
}
@media(max-width:700px){.proyecto-section::before,#contacto.contacto-section::before{height:34%!important;}}

/* Desplazar ligeramente hacia abajo el conjunto de logotipos de Contacto. */
@media(min-width:701px){#contacto .contacto-brand{transform:translateY(32px)}}
@media(max-width:700px){#contacto .contacto-brand{transform:translateY(12px)}}

/* Espacio adicional entre los logos y los datos solo en móvil. */
@media (max-width:700px){
  #contacto .contacto-layout{gap:68px!important;}
}
