/* Tablet composition from the supplied 768 px contact reference. */
.contact-page .contact-tablet-only,.contact-page .gs-tablet-only{display:none}
@media(min-width:681px) and (max-width:1024px){
.contact-page{
        --header-height: 64px;
    }
body.contact-page.is-menu-open{
        overflow: hidden;
    }
.contact-page .site-header.is-menu-open{
        background: transparent;
        color: var(--color-white);
        box-shadow: none;
        backdrop-filter: none;
    }
.contact-page .site-header.is-menu-open .logo--light{
        opacity: 1;
    }
.contact-page .site-header.is-menu-open .logo--dark{
        opacity: 0;
    }
.contact-page .site-header.is-menu-open .site-header__logo{
        width: 184px;
    }
.contact-page .menu-toggle{
        position: relative;
        z-index: 2;
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        background: transparent;
        color: currentColor;
    }
.contact-page .menu-toggle__line,.contact-page .menu-toggle__line::before,.contact-page .menu-toggle__line::after{
        display: block;
        width: 22px;
        height: 2px;
        background: currentColor;
        content: "";
        transition: transform var(--duration) var(--ease), opacity var(--duration) var(--ease);
    }
.contact-page .menu-toggle__line::before{
        transform: translateY(-7px);
    }
.contact-page .menu-toggle__line::after{
        transform: translateY(5px);
    }
.contact-page .site-header.is-menu-open .menu-toggle__line{
        transform: rotate(45deg);
    }
.contact-page .site-header.is-menu-open .menu-toggle__line::before{
        opacity: 0;
    }
.contact-page .site-header.is-menu-open .menu-toggle__line::after{
        transform: translateY(-2px) rotate(90deg);
    }
.contact-page .main-nav{
        position: fixed;
        inset: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 7.2rem 1.9rem 2.1rem;
        background:
            linear-gradient(rgba(0, 0, 0, 0.84), rgba(0, 0, 0, 0.9)),
            rgba(0, 0, 0, 0.9);
        color: var(--color-white);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-1rem);
        transition: opacity var(--duration) var(--ease), transform var(--duration) var(--ease);
        overflow-y: auto;
    }
.contact-page .site-header.is-menu-open .main-nav{
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }
.contact-page .main-nav__list{
        display: grid;
        gap: 0.35rem;
    }
.contact-page .main-nav a{
        width: 100%;
        min-height: 0;
        padding: 0.18rem 0;
        border-bottom: 0;
        color: inherit;
        font-size: clamp(1.45rem, 5.8vw, 1.65rem);
        font-weight: 400;
        line-height: 1.18;
        text-transform: none;
        justify-content: flex-start;
    }
.contact-page .main-nav a.is-active{
        color: inherit;
    }
.contact-page .main-nav__item--suburbio > a::after,.contact-page .main-nav__item--novotech > a::after,.contact-page .main-nav__item--industry > a::after{
        content: none;
    }
.contact-page .main-nav__item.has-submenu > a{
        position: relative;
        gap: 1rem;
        justify-content: space-between;
        font-weight: 800;
        text-transform: uppercase;
    }
.contact-page .main-nav__item.has-submenu > a::before{
        position: absolute;
        left: 0;
        bottom: 0;
        width: min(220px, 72vw);
        height: 1px;
        background: currentColor;
        content: "";
    }
.contact-page .main-nav__item.has-submenu > a::after{
        position: static;
        inset: auto;
        flex: 0 0 auto;
        display: inline-block;
        width: auto;
        height: auto;
        margin-right: 0.15rem;
        border: 0;
        background: transparent;
        content: ">";
        opacity: 1;
        font-size: 1.1em;
        font-weight: 800;
        line-height: 1;
        transform-origin: center;
        transform: none;
        transition: transform var(--duration) var(--ease);
    }
.contact-page .main-nav__item.has-submenu > a:hover::after,.contact-page .main-nav__item.has-submenu > a:focus-visible::after{
        opacity: 1;
        transform: none;
    }
.contact-page .main-nav__item.has-submenu.is-submenu-open > a::after{
        transform: rotate(90deg);
    }
.contact-page .main-nav__item.has-submenu.is-submenu-open > a:hover::after,.contact-page .main-nav__item.has-submenu.is-submenu-open > a:focus-visible::after{
        transform: rotate(90deg);
    }
.contact-page .main-nav__social{
        display: flex;
        justify-content: center;
        gap: clamp(1.45rem, 7vw, 2.1rem);
        margin-top: 2rem;
    }
.contact-page .main-nav__social a{
        width: auto;
        border: 0;
        color: inherit;
        font-size: 2rem;
    }
.contact-page .main-nav__item.has-submenu:not(.is-submenu-open) .nav-mega{
        display: none;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
    }
.contact-page .main-nav__item.is-submenu-open .nav-mega{
        display: block;
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }
.contact-page .main-nav__item .nav-mega[hidden]{
        display: none !important;
    }


.contact-page .gs-app{padding:7.812500vw 0 11.067708vw;background-size:375% 100%;background-position:-58.854167vw top}
.contact-page .gs-app .container{width:87.500000vw}
.contact-page .gs-app .gs-grid>img{grid-column:1/-1;width:100%;height:71.614583vw;max-height:none;object-fit:contain;transform:translateX(-3.906250vw)}
.contact-page .gs-app .gs-grid>div{grid-column:1/-1;padding:3.906250vw 0 0;text-align:left}
.contact-page .gs-app h2{font-size:7.812500vw;line-height:1.166667;margin:0 0 5.208333vw}
.contact-page .gs-app p{font-size:2.734375vw;line-height:1.5;color:#08091b;margin-bottom:4.557292vw}
.contact-page .gs-app ul{font-family:var(--font-secondary);font-size:2.734375vw;line-height:1.5;margin:0 0 6.510417vw;padding:0;list-style:none;font-weight:900}
.contact-page .gs-app li::before{content:'● ';font-size:.8em}
.contact-page .gs-app .gs-grid>div>strong{display:block;color:#08091b;font-family:var(--font-secondary);font-size:2.734375vw;line-height:1.5}
.contact-page .gs-app__badges{gap:2.604167vw;margin-top:3.906250vw;justify-content:flex-start}
.contact-page .gs-app__badges img{width:29.687500vw;height:auto;border-radius:130.078125vw;border:0.130208vw solid #08091b;background:white}
.contact-page .site-footer .container{width:93.229167vw;max-width:none}
.contact-page .footer-primary{padding:6.510417vw 0}
.contact-page .footer-primary__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:6.510417vw 2.604167vw}
.contact-page .footer-contact{grid-column:1/-1}
.contact-page .footer-contact__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.604167vw;margin-bottom:3.906250vw}
.contact-page .site-footer h2,.contact-page .footer-contact a,.contact-page .footer-social strong,.contact-page .footer-quick a,.contact-page .footer-office strong{font-size:2.734375vw;line-height:1.4}
.contact-page .footer-social{gap:3.255208vw;margin-bottom:3.906250vw}
.contact-page .footer-social a{font-size:2.864583vw}
.contact-page .footer-primary__inner>.footer-desktop-group{grid-column:auto}
.contact-page .footer-desktop-group{display:block}
.contact-page .footer-corporate p,.contact-page .footer-office p,.contact-page .footer-desktop-group a{font-size:2.734375vw;line-height:1.5}
.contact-page .footer-contact h2,.contact-page .footer-desktop-group h2{margin-bottom:1.562500vw}
.contact-page .footer-desktop-group li+li{margin-top:1.562500vw}
.contact-page .footer-quick{grid-column:1/-1;gap:2.083333vw;margin:0}
.contact-page .footer-mobile-accordions,.contact-page .footer-offices--mobile{display:none}
.contact-page .footer-divider{height:0.651042vw}
.contact-page .footer-secondary{padding:6.510417vw 0}
.contact-page .footer-secondary__inner{grid-template-columns:1fr;gap:6.510417vw}
.contact-page .footer-offices--desktop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5.208333vw 2.604167vw}
.contact-page .footer-office,.contact-page .footer-office+.footer-office{border:0;padding:0;min-height:0}
.contact-page .footer-office h2,.contact-page .footer-office strong{margin-bottom:3.255208vw}
.contact-page .footer-legal{text-align:center}
.contact-page .footer-legal p{font-size:2.734375vw;line-height:1.5}
.contact-page .footer-legal nav{display:flex;justify-content:center;gap:1.302083vw;margin-top:3.255208vw;font-size:2.734375vw}
.contact-page .footer-legal nav a+a::before{content:"|";margin-right:1.302083vw}
.contact-page .site-footer,.contact-page .site-footer p,.contact-page .footer-desktop-group a{font-family:var(--font-secondary)}
.contact-page .footer-corporate p br,.contact-page .footer-legal p br{display:none}
.contact-page .footer-office{padding-bottom:3.90625vw;border-bottom:1px solid #c5c5c5}
.contact-page .footer-office+.footer-office{padding-bottom:3.90625vw;border-bottom:1px solid #c5c5c5}
.contact-page .footer-offices--desktop{gap:3.90625vw 2.604167vw}
.contact-page .footer-secondary__inner{gap:3.90625vw}
.contact-page .footer-corporate p,.contact-page .footer-office p,.contact-page .footer-legal p{display:inline}
.contact-page .footer-primary__inner{row-gap:4.557292vw}
.contact-page .footer-quick{gap:1.302083vw}
.contact-page .footer-corporate h2{margin-bottom:0}
.contact-page .footer-office p{line-height:1.4}
.contact-page .footer-legal nav{margin-top:1.302083vw}
.contact-page .footer-divider span{width:100%}
.contact-page .gs-app p,.contact-page .gs-app ul{font-size:2.734375vw;line-height:1.5}

.contact-page{--header-height:13.020833vw;-webkit-font-smoothing:antialiased}
.contact-page .container{width:90.625000vw;max-width:none}
.contact-page .site-header__inner{width:90.625000vw;height:13.020833vw;min-height:0}
.contact-page .site-header__logo{width:23.958333vw;transform:translateY(-0.781250vw)}
.contact-page .menu-toggle{width:7.812500vw;height:7.812500vw;transform:translateY(-0.911458vw)}
.contact-page .menu-toggle__line,.contact-page .menu-toggle__line::before,.contact-page .menu-toggle__line::after{width:6.510417vw;height:0.390625vw;border-radius:0.390625vw}
.contact-page .menu-toggle__line::before{transform:translateY(-1.692708vw);width:5.208333vw;margin-left:1.302083vw}
.contact-page .menu-toggle__line::after{transform:translateY(1.562500vw);width:3.645833vw;margin-left:2.864583vw}
.contact-page .site-header.is-menu-open .menu-toggle__line::after{width:6.510417vw;margin-left:0;transform:translateY(-0.390625vw) rotate(90deg)}
.contact-page .main-nav a{font-size:3.385417vw;line-height:1.18;padding:0.781250vw 0}
.contact-page .main-nav__social{display:flex;margin-left:0;align-self:flex-start}
.contact-page .main-nav__social a{font-size:2.864583vw}
.contact-page main h1,.contact-page main h2{font-size:7.812500vw;line-height:1.166667;font-weight:800}
.contact-hero{min-height:0;height:140.885417vw;padding-top:60.546875vw;background-image:linear-gradient(to bottom,transparent 65%,#78a5d9 100%),url('../../imgs/contacto/contacto-banner-principal.jpg')!important;background-position:center top,25% top!important;background-size:auto,auto 140.885417vw!important}
.contact-hero .contact-grid{min-height:0;display:block}
.contact-hero h1{max-width:78.125000vw;margin:0 auto}
.contact-form-wrap{margin-top:-38.671875vw}
.contact-form-card{grid-column:1/-1;background:none}
.contact-form-card>header{padding:13.020833vw 5.208333vw 13.020833vw;background:#78a5d9}
.contact-form-card h2{max-width:65.104167vw;margin:0 auto 5.208333vw}
.contact-page .contact-form-card header p{font-family:var(--font-secondary);font-size:2.734375vw;line-height:1.5;color:white;margin:0;font-weight:900}
.contact-page .contact-form-card header .contact-form-intro{display:block;font-weight:400;margin-bottom:5.208333vw}
.contact-form{background:#f5f5f7;margin-top:2.604167vw;padding:6.510417vw 7.161458vw 7.161458vw;grid-template-columns:1fr;grid-template-rows:none;gap:4.557292vw 0}
.contact-form .contact-form-heading{display:block;grid-column:1;grid-row:1;color:#78a5d9;text-align:center;font-size:4.166667vw;line-height:1.25;margin:0 0 -4.166667vw}
.contact-form label:nth-child(n),.contact-form button{grid-column:1;grid-row:auto;margin:0}
.contact-form label:has([name=nombre]){grid-row:2}
.contact-form label:has([name=telefono]){grid-row:3}
.contact-form label:has([name=correo]){grid-row:4}
.contact-form label:has([name=mensaje]){grid-row:5;display:block!important}
.contact-form label:has([name=oficina]){grid-row:6;position:relative}
.contact-form button{grid-row:7}
.contact-form input,.contact-form textarea,.contact-form select{font-family:var(--font-secondary);font-size:3.255208vw;line-height:1.4;padding:1.953125vw 0 2.604167vw;color:#999;min-width:0}
.contact-form input{height:9.114583vw}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#999;opacity:1}
.contact-form .contact-message textarea{display:block;height:16.015625vw;min-height:16.015625vw}
.contact-form select{height:9.114583vw;appearance:none;padding-right:5.859375vw}
.contact-form .contact-office::after{content:'';position:absolute;right:3.385417vw;top:3.385417vw;width:3.125000vw;height:3.125000vw;border-top:0.260417vw solid #aaa;border-right:0.260417vw solid #aaa;transform:rotate(45deg);pointer-events:none}
.contact-form button{min-width:23.958333vw;min-height:6.510417vw;font-size:2.864583vw;padding:1.041667vw 3.906250vw;margin-top:1.953125vw}
.contact-offices{padding:13.020833vw 0 0}
.contact-offices h2{text-align:center;margin:0}
.contact-carousel{--contact-carousel-offset:4.687500vw;margin-top:13.020833vw}
.contact-carousel .project-track{gap:2.604167vw;padding-inline:4.687500vw;scroll-padding-inline:4.687500vw;scroll-snap-type:x mandatory}
.contact-office-card{flex:0 0 65.885417vw;padding:0;scroll-snap-align:start}
.contact-office-card__image{height:41.666667vw;object-fit:cover}
.contact-office-card h3{font-family:var(--font-secondary);font-size:3.255208vw;line-height:1.4;font-weight:900;color:#345599;margin:2.604167vw 0 1.953125vw}
.contact-office-card p{gap:0;font-family:var(--font-secondary);font-size:3.255208vw;line-height:1.4;max-width:none;margin:0}
.contact-office-card p strong{font-weight:900}
.contact-office-card p strong,.contact-office-card p span{padding-left:3.385417vw;position:relative}
.contact-office-card i{position:absolute;left:0;top:0.911458vw;width:2.343750vw;font-size:2.083333vw;line-height:1.4}
.contact-office-card p span i{color:#999}
.contact-office-card:nth-child(2) h3::before{content:'Oficina '}
.contact-carousel .project-carousel__footer{width:90.625000vw;margin:6.510417vw auto 0;gap:5.468750vw;align-items:flex-end}
.contact-carousel .project-controls{gap:2.604167vw}
.contact-carousel .project-controls button{width:5.989583vw;height:5.989583vw;min-width:0;border:0.130208vw solid #aaa;border-radius:50%;background:white;color:#08091b;display:grid;place-items:center}
.contact-carousel .project-controls button:disabled{color:#aaa}
.contact-carousel .project-controls i{display:none}
.contact-carousel .project-controls button::before{content:'';width:2.083333vw;height:2.083333vw;border-top:0.130208vw solid currentColor;border-right:0.130208vw solid currentColor;transform:translateX(-20%) rotate(45deg)}
.contact-carousel .project-controls button[data-office-prev]::before{transform:translateX(20%) rotate(-135deg)}
.contact-carousel .project-progress{height:0.130208vw;background:#aaa;flex:1}
.contact-carousel .project-progress span{width:100%;height:0.260417vw;background:#08091b}
.contact-page .contact-app{margin-top:13.020833vw}
.contact-page .contact-app p,.contact-page .contact-app ul,.contact-page .contact-app .gs-grid>div>strong{font-size:3.255208vw;line-height:1.4}
.contact-page .contact-app .gs-grid>img{height:69.010417vw}
.contact-page .contact-app .gs-grid>div{padding-top:5.208333vw}
.contact-page .contact-app h2{margin-bottom:5.208333vw}
.contact-page .contact-app ul{margin-bottom:3.645833vw}
.contact-page .gs-tablet-only{display:inline}
.contact-page .contact-tablet-only{display:block}
.contact-page .contact-outside-tablet,.contact-page .gs-outside-tablet{display:none}

}

@media(min-width:681px) and (max-width:1024px){
.contact-page .contact-heading-period{display:inline}
.contact-page .contact-form-card header{padding-bottom:11.067708vw}
}
