/*
Theme Name: Megaconstru Corporativo
Description: Sitio corporativo de Grupo Megaconstru.
Version: 1.6.1
Text Domain: megaconstru
*/
:root{--mc-red:#a61136;--mc-ink:#1c2023;--mc-gray:#50565b;--mc-pale:#f3f2f0;--mc-line:#dad8d4}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:1rem}
body{margin:0;background:white;color:var(--mc-ink);font:16px/1.58 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:var(--mc-red)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1962a3;outline-offset:3px}
h1,h2,h3{margin:0 0 .7rem;line-height:1.08;text-wrap:balance}
h1{font-size:clamp(2.5rem,6vw,5.5rem);letter-spacing:-.055em}
h2{font-size:clamp(2rem,4.1vw,3.45rem);letter-spacing:-.044em}
h3{font-size:clamp(1.1rem,1.7vw,1.38rem);letter-spacing:-.026em}
p{margin:.75rem 0;color:var(--mc-gray)}
.mc-wrap{width:min(100% - 2.5rem,1200px);margin-inline:auto}
.mc-interior{--mc-reading:950px}
.mc-interior .mc-section .mc-wrap{max-width:var(--mc-reading)}
.mc-header{border-top:4px solid var(--mc-red);border-bottom:1px solid var(--mc-line);background:#fff}
.mc-header-inner{display:flex;align-items:center;gap:1.65rem;min-height:88px}
.mc-brand{flex-shrink:0;margin-right:auto}
.mc-brand img,.mc-footer img{width:130px}
.mc-nav{display:flex;gap:clamp(.7rem,2.3vw,2rem);align-items:center}
.mc-nav a{font-size:.92rem;color:var(--mc-ink);text-decoration:none;font-weight:650}
.mc-nav a:hover,.mc-nav [aria-current]{color:var(--mc-red)}
.mc-label{display:block;color:var(--mc-red);text-transform:uppercase;font-weight:750;font-size:.73rem;letter-spacing:.16em;margin-bottom:1rem}
.mc-btn{display:inline-flex;gap:1.2rem;align-items:center;justify-content:space-between;background:var(--mc-red);border:1px solid var(--mc-red);color:white;font:inherit;font-weight:700;font-size:.91rem;min-height:45px;padding:.65rem 1rem;text-decoration:none;cursor:pointer}
.mc-btn:hover{background:#830c29;border-color:#830c29;color:white}
.mc-btn-light{background:white;border-color:var(--mc-line);color:var(--mc-red)}
.mc-btn-light:hover{background:#f3e6eb;color:#830c29;border-color:#f3e6eb}
.mc-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.7rem}
.mc-hero-copy{padding:clamp(2.8rem,6vw,6rem) max(1.25rem,calc((100vw - 1200px)/2));max-width:100%}
.mc-interior .mc-hero-copy{width:min(100% - 2.5rem,950px);margin:auto;padding-inline:0}
.mc-hero-copy p{font-size:clamp(1rem,1.5vw,1.21rem);max-width:58ch}
.mc-hero>img{width:100%;height:clamp(190px,34vw,390px);object-fit:cover;border-bottom:3px solid var(--mc-red)}
.mc-hero-home{display:grid;grid-template-columns:57% 43%}
.mc-hero-home .mc-hero-copy{padding-right:clamp(1.5rem,3.5vw,4rem)}
.mc-hero-home>img{height:100%;min-height:430px;border:0;border-left:4px solid var(--mc-red)}
.mc-dark{background:var(--mc-ink);color:white}
.mc-dark p,.mc-dark .mc-label{color:#f0eeef}
.mc-pale{background:var(--mc-pale)}
.mc-section{padding:clamp(2.9rem,6vw,5.5rem) 0}
.mc-section .mc-wrap>p{max-width:76ch}
.mc-grid{display:grid;gap:clamp(.9rem,2.3vw,2rem)}
.mc-two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.mc-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.mc-five{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}
.mc-stats{padding:1.6rem 0;border-top:1px solid #5b5c60}
.mc-stats strong{font-size:clamp(1.5rem,3.1vw,2.5rem);line-height:1.15;letter-spacing:-.045em}
.mc-stats p{margin:.3rem 0}
.mc-card,.mc-steps article{background:var(--mc-pale)}
.mc-pale .mc-card{background:white}
.mc-card img,.mc-two>img,.mc-profile img{width:100%;aspect-ratio:3/2;object-fit:cover}
.mc-card>div,.mc-steps article{padding:1rem}
.mc-card .mc-btn{margin-top:.6rem}
.mc-card h3{font-size:1.15rem}
.mc-five,.mc-steps{margin:1.4rem 0}
.mc-list{margin-top:1.6rem}
.mc-list article{border-top:1px solid var(--mc-line);display:grid;grid-template-columns:2.4rem 1fr;padding:1.1rem 0}
.mc-list p{margin:0}
.mc-list .mc-label{padding-top:.1rem}
.mc-directory{list-style:none;margin:1.4rem 0 0;padding:0}
.mc-directory a{display:grid;grid-template-columns:2rem minmax(10rem,1fr) 1.4fr auto;gap:.65rem;align-items:center;border-top:1px solid var(--mc-line);padding:.85rem 0;text-decoration:none;color:var(--mc-ink)}
.mc-directory a:hover strong,.mc-link-text{color:var(--mc-red)}
.mc-directory .mc-label{margin:0}
.mc-profile+.mc-profile{border-top:1px solid var(--mc-line)}
.mc-profile img{aspect-ratio:2.85;margin:1.5rem 0}
.mc-quote{font-weight:750;font-size:1.2rem;color:var(--mc-ink);margin-top:1.2rem}
.mc-form{max-width:760px}
.mc-field{display:grid;gap:.35rem;font-weight:650}
.mc-field input,.mc-field textarea,.mc-field select{padding:.65rem .75rem;min-width:0;border:1px solid #aaa5a4;background:white;color:var(--mc-ink);font:inherit;border-radius:0;width:100%}
.mc-field textarea{resize:vertical}
.mc-full{grid-column:1/-1}
.mc-form-status{padding:.7rem 1rem;background:#fff;border-left:4px solid var(--mc-red)}
.mc-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.mc-footer{border-top:1px solid var(--mc-line);padding:1.45rem 0}
.mc-footer .mc-wrap{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}
.mc-footer p{font-size:.88rem}
@media(max-width:950px){.mc-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:710px){.mc-header-inner{flex-wrap:wrap;padding-block:.6rem;gap:.55rem}.mc-nav{order:3;width:100%;justify-content:space-between;gap:.55rem;padding:.25rem 0}.mc-brand img{width:105px}.mc-hero-home,.mc-two{grid-template-columns:1fr}.mc-hero-home>img{height:250px;min-height:0;border-left:0;border-bottom:3px solid var(--mc-red)}.mc-five,.mc-three{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-directory a{grid-template-columns:1.5rem 1fr auto}.mc-directory a span:nth-child(3){grid-row:2;grid-column:2/-1;font-size:.88rem}.mc-profile img{aspect-ratio:1.8}.mc-stats .mc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.mc-stats p{font-size:.78rem}}
@media(max-width:395px){.mc-five,.mc-steps,.mc-interior .mc-three{grid-template-columns:1fr}}

/* Home company directory and accessible motion */
.mc-slogan{font-weight:650;margin-top:1.25rem}
.mc-home-companies{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;gap:1.25rem;margin-top:2rem}
.mc-home-companies .mc-card{grid-column:span 2;display:flex;flex-direction:column;min-width:0}
.mc-home-companies .mc-card:nth-child(4){grid-column:2/span 2}
.mc-home-companies .mc-card img{aspect-ratio:16/9}
.mc-home-companies .mc-card>div{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(1rem,2vw,1.45rem)}
.mc-home-companies .mc-card h3{font-size:clamp(1.15rem,2vw,1.45rem);margin-bottom:.35rem}
.mc-home-companies .mc-card p{margin:.3rem 0 .85rem}
.mc-home-companies .mc-card .mc-specialty{color:var(--mc-red);font-weight:650}
.mc-home-companies .mc-card .mc-btn{margin-top:auto}
@media(max-width:850px){
 .mc-home-companies{grid-template-columns:repeat(4,minmax(0,1fr))}
 .mc-home-companies .mc-card:nth-child(4){grid-column:span 2}
 .mc-home-companies .mc-card:last-child{grid-column:2/span 2}
}
@media(max-width:570px){
 .mc-home-companies{grid-template-columns:1fr;grid-auto-rows:auto}
 .mc-home-companies .mc-card,.mc-home-companies .mc-card:nth-child(4),.mc-home-companies .mc-card:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 body{overflow-x:clip}
}

/* Layouts edited in ElementsKit and Elementor */
.ekit-template-content-header{border-top:4px solid var(--mc-red);border-bottom:1px solid var(--mc-line);background:#fff}
.ekit-template-content-header .elementor .mc-ekit-header,
.ekit-template-content-footer .elementor .mc-ekit-footer{width:min(100% - 2.5rem,1200px);margin-inline:auto;padding:0;min-height:86px;align-items:center;flex-direction:row;gap:1.35rem}
.ekit-template-content-header .mc-ekit-logo{margin-right:auto}
.ekit-template-content-markup .mc-ekit-logo img{width:130px;max-width:100%;height:auto}
.ekit-template-content-header .mc-ekit-action .elementor-button{background:var(--mc-red);font:inherit;font-size:.91rem;font-weight:700;border-radius:0;padding:.85rem 1rem;color:#fff}
.ekit-template-content-header .mc-ekit-action .elementor-button:hover{background:#830c29}
.ekit-template-content-header .mc-ekit-menu .elementskit-navbar-nav>li>a{font-family:inherit;font-weight:650;color:var(--mc-ink)}
.ekit-template-content-header .mc-ekit-menu .elementskit-navbar-nav>li>a:hover,
.ekit-template-content-header .mc-ekit-menu .elementskit-navbar-nav>li.current-menu-item>a{color:var(--mc-red)}
.ekit-template-content-footer{border-top:1px solid var(--mc-line)}
.ekit-template-content-footer .mc-ekit-footer p{margin:.5rem 0;font-size:.88rem}
.mc-stats .elementor .mc-elementor-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.55rem,2.3vw,2rem);padding:0}
.mc-stats .elementor-counter .elementor-counter-number-wrapper{justify-content:flex-start;text-align:left;color:white;font:inherit;font-size:clamp(1.35rem,3.1vw,2.5rem);line-height:1.15;font-weight:750;letter-spacing:-.045em;white-space:pre-wrap}
.mc-stats .elementor-counter .elementor-counter-number-prefix,
.mc-stats .elementor-counter .elementor-counter-number-suffix{flex:0 0 auto}
.mc-stats .elementor-counter .elementor-counter-title{color:#f0eeef;font:inherit;text-align:left;margin-top:.35rem}
.mc-slider{position:relative;isolation:isolate;overflow:hidden}
.mc-slider .mc-hero-copy{position:relative}
.mc-slides,.mc-slides::after,.mc-slides img{position:absolute;inset:0;width:100%;height:100%}
.mc-slides{z-index:-1}
.mc-slides::after{content:"";background:linear-gradient(90deg,rgba(15,17,19,.9),rgba(15,17,19,.68) 55%,rgba(15,17,19,.37))}
.mc-slides img{object-fit:cover;object-position:center;opacity:0;transition:opacity .8s ease}
.mc-slides img.is-current{opacity:1}
.mc-slide-controls{position:absolute;right:max(1.25rem,calc((100vw - 950px)/2));bottom:1.4rem;display:flex;align-items:center;gap:.5rem;color:#fff}
.mc-slide-controls[hidden]{display:none}
.mc-slide-controls button{width:44px;height:44px;border:1px solid #fff9;background:#1c2023dd;color:#fff;cursor:pointer;font:inherit;font-size:1.25rem}
.mc-slide-controls button:hover{background:var(--mc-red)}
.mc-slide-count{font-variant-numeric:tabular-nums;font-weight:700;padding:.25rem .5rem;background:#1c2023dd}
.mc-history .mc-wrap{align-items:center}
.mc-history figure{margin:0}
.mc-history figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mc-history figcaption{font-size:.82rem;color:var(--mc-gray);margin-top:.55rem}
.mc-value-title{display:flex;align-items:center;gap:.75rem}
.mc-value-title svg{color:var(--mc-red);flex:none}
@media(max-width:710px){
 .ekit-template-content-header .elementor .mc-ekit-header{gap:.65rem}
 .ekit-template-content-markup .mc-ekit-logo img{width:100px}
 .mc-stats .elementor-counter .elementor-counter-title{font-size:.78rem}
 .mc-slides::after{background:rgba(15,17,19,.69)}
}
@media(prefers-reduced-motion:reduce){.mc-slides img{transition:none}}

/* Native Elementor page layouts. Classes provide the site's shared design defaults. */
main>.elementor .mc-native-box{--gap:0px}
.elementor .mc-native-box{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px}
main>.elementor .mc-native-box.mc-wrap{width:min(100% - 2.5rem,1200px);margin-inline:auto}
.mc-interior>.elementor .mc-native-box.mc-wrap{max-width:var(--mc-reading)}
main>.elementor .mc-native-box.mc-actions{display:flex;flex-flow:row wrap;gap:.85rem;margin-top:1.7rem}
main>.elementor .mc-native-button{width:auto;align-self:flex-start}
main>.elementor .mc-native-button.mc-btn{background:none;border:0;padding:0;min-height:0}
main>.elementor .mc-native-box.mc-grid,
main>.elementor .mc-native-box.mc-home-companies,
main>.elementor .mc-native-box.mc-elementor-counters{display:grid;gap:clamp(.9rem,2.3vw,2rem)}
main>.elementor .mc-native-box.mc-elementor-counters{grid-template-columns:repeat(3,minmax(0,1fr))}
main>.elementor .mc-native-box.mc-stats{padding-block:1.6rem}
main>.elementor .mc-card .mc-copy{padding:1rem}
main>.elementor .mc-home-companies .mc-card .mc-copy{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1rem,2vw,1.45rem)}
main>.elementor .mc-home-companies .mc-card .mc-native-button{margin-top:auto}
main>.elementor .mc-home-companies .mc-card .mc-native-image{padding:0}
main>.elementor .mc-native-box.mc-list>article{display:grid;grid-template-columns:2.4rem 1fr;gap:0;padding:1.1rem 0}
main>.elementor .mc-native-box.mc-list .mc-native-text p{margin:0}
main>.elementor .mc-native-box.mc-steps article{padding:1rem}
main>.elementor .mc-native-box.mc-directory-row{display:grid;grid-template-columns:2rem minmax(9rem,1fr) 1.25fr auto;gap:.65rem;align-items:center;border-top:1px solid var(--mc-line);padding:.85rem 0}
main>.elementor .mc-directory-row h3{margin:0}
main>.elementor .mc-directory-button .elementor-button{background:transparent;color:var(--mc-red);border:0;padding:.4rem}
main>.elementor .mc-directory-button .elementor-button:hover{background:var(--mc-pale)}
main>.elementor .mc-native-box.mc-value-title{display:flex;flex-flow:row nowrap;align-items:center;gap:.75rem}
main>.elementor .mc-native-icon{width:auto}
main>.elementor .mc-native-icon .elementor-icon{font-size:2rem;color:var(--mc-red);fill:var(--mc-red)}
main>.elementor .mc-history-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
main>.elementor .mc-history-photo figcaption{font-size:.82rem;color:var(--mc-gray);margin-top:.55rem}
main>.elementor .mc-video-hero{position:relative;isolation:isolate}
main>.elementor .mc-video-hero .mc-hero-copy{position:relative;z-index:2;align-self:stretch}
main>.elementor .mc-slider .mc-slides{position:absolute;inset:0;pointer-events:none;overflow:hidden}
main>.elementor .mc-slider .mc-slides::after{z-index:2}
main>.elementor .mc-slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.065);transition:opacity 1s ease-in-out,transform 1.25s ease-out}
main>.elementor .mc-slide.is-current{opacity:1;transform:scale(1)}
main>.elementor .mc-slide img{opacity:1;transition:none}
main>.elementor .mc-slider-controls-widget{position:absolute;inset:auto 0 0;z-index:2}
main>.elementor .mc-slider-controls-widget .mc-slide-controls{bottom:1.4rem}
@media(max-width:710px){
 main>.elementor .mc-native-box.mc-directory-row{grid-template-columns:1.5rem 1fr auto}
 main>.elementor .mc-directory-row>.mc-native-text:nth-child(3){grid-row:2;grid-column:2/-1}
 main>.elementor .mc-directory-button{grid-row:1;grid-column:3}
 main>.elementor .mc-native-box.mc-elementor-counters{gap:.45rem}
}
@media(prefers-reduced-motion:reduce){main>.elementor .mc-slide{transition:none}}

main>.elementor .mc-native-box{--row-gap:0px;--column-gap:0px}
main>.elementor .mc-native-box.mc-video-hero .mc-hero-copy{width:min(100% - 2.5rem,1200px);margin-inline:auto}
main>.elementor .mc-hero-copy>.mc-native-text p{margin-block:.55rem}

/* Shared design details for the Elementor pages */
.mc-native-box.mc-dark{background-color:var(--mc-ink);color:#fff}
.mc-native-box.mc-pale,.mc-native-box.mc-card{background-color:var(--mc-pale)}
.mc-pale .mc-native-box.mc-card{background-color:#fff}
.mc-native-box.mc-home-companies .mc-card{width:100%;height:100%;overflow:hidden}
.mc-native-box.mc-card .mc-native-image{padding:0}
.mc-native-box.mc-card .mc-native-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.mc-native-box.mc-card .mc-copy{justify-content:flex-start}
.mc-native-box.mc-profile .mc-native-image{margin:1.25rem 0}
.mc-native-box.mc-profile .mc-native-image img{width:100%;margin:0;aspect-ratio:2.85;object-fit:cover}
.mc-native-box.mc-section>.mc-wrap.mc-grid.mc-two>.mc-native-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mc-history-photo figcaption{border-left:2px solid var(--mc-red);padding-left:.65rem}
.mc-native-box.mc-stats{border-top:1px solid #ffffff3d}
.mc-elementor-counters>.elementor-widget:not(:first-child){border-left:1px solid #ffffff3d;padding-left:clamp(.55rem,2.2vw,1.7rem)}
.mc-elementor-counters .elementor-counter-number{flex-grow:0}
.mc-native-box.mc-slider .mc-slides,
.mc-native-box.mc-slider .mc-slides img{height:100%;max-width:none}
.mc-native-box.mc-slider .mc-slides img{object-fit:cover}
.mc-native-box.mc-slider .mc-hero-copy{z-index:1}
.mc-native-box.mc-video-hero{background-color:var(--mc-ink);background-position:center;background-size:cover}
.mc-video-hero .elementor-background-video-container{pointer-events:none}
.mc-form .mc-field input,.mc-form .mc-field textarea,.mc-form .mc-field select{border-color:#bdb9b7}
.ekit-template-content-header .mc-ekit-menu .elementskit-navbar-nav>li.current-menu-item>a.ekit-menu-nav-link{color:var(--mc-red)}
@media(max-width:710px){
 .mc-native-box.mc-profile .mc-native-image img{aspect-ratio:1.8}
 .mc-native-box.mc-slider .mc-hero-copy{width:min(100% - 2.5rem,950px)}
}
main>.elementor .mc-home-companies .mc-card>.mc-native-image{flex:0 0 auto;width:100%}
main>.elementor .mc-home-companies .mc-card>.mc-copy{flex:1 1 auto;width:100%}

.mc-native-heading h1,.mc-native-heading h2{margin-bottom:.7rem}
.mc-native-heading h3{margin-bottom:.35rem}
.mc-native-text p{color:inherit}
.mc-native-button .elementor-button{border-radius:0}
.mc-directory-button .elementor-button-content-wrapper{align-items:center;white-space:nowrap}
.mc-directory-button .elementor-button-icon{flex-shrink:0}
