:root{--primary:#e63946;--white:#ffffff;--light:#ffffff;--black:#0a0a0a;--off-white:#f5f5f5;--gray-light:#e5e5e5;--gray:#999999;--gray-dark:#333333}
*,:after,:before{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;scroll-padding-top:80px;line-height:1.15;-webkit-text-size-adjust:100%}
body{font-family:'DM Mono',monospace;background-color:var(--white);color:var(--black);overflow-x:hidden;cursor:crosshair;padding-top:70px;width:100%;max-width:100vw;margin:0}
img,video{max-width:100%;height:auto}
a{background-color:transparent;color:var(--gray);text-decoration:none}
a:hover{color:var(--primary)}
::selection{background:var(--primary);color:var(--white)}
h1,h2,h3,h4,h5,h6{font-family:'Archivo Black',sans-serif;font-weight:400;text-transform:uppercase;line-height:.9;margin:0}
.container,.container-fluid{max-width:100%;overflow-x:hidden}
.row{margin-left:0;margin-right:0}
.section-heading{font-size:clamp(2.5rem,10vw,8rem);color:var(--black)!important;position:relative;display:block;word-wrap:break-word;margin:0 0 20px}
.section-heading::after{content:'';display:block;width:60px;height:8px;background:var(--primary);margin-top:20px;margin-left:0}
.section-heading.text-center::after{margin-left:auto;margin-right:auto}
.section-heading span{color:var(--primary)!important}
.subheading{color:var(--gray-dark)!important;font-size:1rem;max-width:500px;font-family:'DM Mono',monospace;font-weight:300;text-transform:uppercase;letter-spacing:1px;margin:-20px 0 30px}
.bg-gray-light{background:var(--off-white)!important}
.bg-gray{background:var(--gray-light)!important}
.bg-black{background:var(--black)!important;color:var(--white)!important}
.bg-primary{background:var(--primary)!important}
.text-white{color:var(--white)!important}
.text-center{text-align:center!important}
.text-left{text-align:left!important}
.mb-0{margin-bottom:0!important}
.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.mt-4{margin-top:1.5rem!important}
.mt-5{margin-top:3rem!important}
.p-3{padding:1rem!important}
.pb-5{padding-bottom:3rem!important}
.h-100{height:100%!important}
.d-flex{display:flex!important}
.d-inline-flex{display:inline-flex!important}
.align-items-center{align-items:center!important}
.wrap-caption{flex-wrap:wrap}
.navbar-main{background:var(--white)!important;border-bottom:2px solid var(--black)!important;position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:9999!important;padding:3px 8px;box-shadow:0 2px 0 var(--black)}
.header{position:static!important}
.navbar-main .navbar-brand{z-index:9999}
.navbar-main .navbar-brand img{height:38px;filter:none}
.navbar-brand{background:var(--black);padding:4px 8px;border-radius:4px;margin-right:8px}
.navbar-main .nav-link{color:var(--black)!important;font-family:'DM Mono',monospace;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;padding:6px 8px!important;position:relative;transition:color .2s ease;border-radius:4px;border:1px dashed transparent}
.navbar-main .nav-link:hover{background:var(--off-white);border-color:var(--gray-light)}
.navbar{display:flex;flex-direction:row;align-items:center;width:100%;gap:8px}
.navbar-nav{display:flex;flex-direction:row;align-items:center;gap:3px;list-style:none;margin:0;padding:0}
.nav-row-1,.nav-row-2,.nav-row-3{display:flex;flex-direction:row}
.sosmed-icon{display:flex;flex-direction:row;align-items:center;gap:3px;margin-left:auto}
.sosmed-icon a{color:var(--black)!important;font-size:.75rem;transition:all .2s ease;display:flex;width:26px;height:26px;align-items:center;justify-content:center;border:2px solid var(--black);border-radius:4px}
.sosmed-icon a:hover{color:var(--white)!important;background:var(--black)}
.navbar-main .nav-link.active{background:var(--primary)!important;color:var(--white)!important}
.navbar-main .nav-link:hover{color:var(--primary)!important;background:var(--off-white)}
.overlay-bg{background:rgba(10,10,10,.5)}
.item{position:relative;margin-top:0;width:100%;max-width:100vw;overflow:hidden}
.item video{object-fit:cover;min-height:60vh;filter:grayscale(100%) contrast(1.2)}
.content-wrap{padding:100px 0;position:relative;opacity:0;animation:fadeIn .8s ease forwards}
.content-wrap.visible{opacity:1}
.box-icon-1{background:var(--white);border:3px solid var(--black);padding:35px 25px;position:relative;transition:all .2s ease;margin-bottom:15px;text-align:center}
.box-icon-1::before{content:'';position:absolute;top:8px;left:8px;right:-8px;bottom:-8px;background:var(--black);z-index:-1;transition:all .2s ease}
.box-icon-1:hover::before{top:4px;left:4px;right:-4px;bottom:-4px}
.box-icon-1:hover{background:var(--primary);border-color:var(--primary);transform:translate(-4px,-4px)}
.box-icon-1 .icon{font-size:2.5rem;color:var(--primary);margin-bottom:20px}
.box-icon-1:hover .icon{color:var(--white)}
.box-icon-1 .icon img{width:40px;filter:brightness(0) saturate(100%) invert(35%) sepia(54%) saturate(2397%) hue-rotate(325deg) brightness(97%) contrast(97%)}
.box-icon-1 h4{color:var(--black);font-family:'Archivo Black',sans-serif;font-size:1rem;text-transform:uppercase;margin-bottom:12px}
.box-icon-1 p{color:var(--gray-dark);font-size:.95rem;line-height:1.5;margin:0 0 20px}
.box-icon-1:hover p{color:var(--white)}
.box-icon-1:active .icon,.box-icon-1:focus .icon{color:var(--white)}
.box-icon-1:active p,.box-icon-1:focus p,.box-icon-1:active h4,.box-icon-1:focus h4{color:var(--white)!important}
@media (hover:none) and (pointer:coarse){
.box-icon-1:hover .icon,.box-icon-1:hover p,.box-icon-1:hover h4{color:inherit}
.box-icon-1:hover{background:var(--white);border-color:var(--black);transform:none}
.box-icon-1:hover::before{top:8px;left:8px;right:-8px;bottom:-8px}
}
.rs-class-box{background:var(--white);border:3px solid var(--black);overflow:hidden;transition:all .2s ease;position:relative}
.rs-class-box::before{content:'';position:absolute;top:0;left:0;width:100%;height:5px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.rs-class-box:hover::before{transform:scaleX(1)}
.rs-class-box:hover{transform:translateY(-5px);box-shadow:0 15px 0 var(--black)}
.rs-class-box:active,.rs-class-box:focus{transform:translateY(-5px);box-shadow:0 15px 0 var(--black)}
.rs-class-box .media-box{overflow:hidden;position:relative}
.rs-class-box .media-box img{transition:all .3s ease;width:100%;height:280px;object-fit:cover;object-position:center 20%}
.rs-class-box:hover .media-box img{transform:scale(1.05)}
.rs-class-box .body-box{padding:20px!important;background:var(--white)!important;border-top:3px solid var(--black)}
.rs-class-box .title{color:var(--black);font-family:'Archivo Black',sans-serif;font-size:.85rem;text-transform:uppercase}
.rs-class-box .detail{color:var(--gray);font-size:.85rem;text-transform:uppercase;letter-spacing:1px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}
.box-gallery{position:relative;overflow:hidden;border:3px solid var(--black)}
.box-gallery::after{content:'+';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:4rem;color:var(--white);font-family:'Archivo Black',sans-serif;transition:transform .3s ease}
.box-gallery:hover::after{transform:translate(-50%,-50%) scale(1)}
.box-gallery:hover img{transform:scale(1.1);filter:grayscale(0%) brightness(.7)}
.box-gallery img{filter:grayscale(100%);transition:all .4s ease;width:100%;height:200px;object-fit:cover}
.box-gallery .project-info{display:none}
.cta-info{background:var(--white);border:3px solid var(--black);padding:30px 25px;text-align:left;transition:all .2s ease;position:relative}
.cta-info::before{content:'';position:absolute;top:0;left:0;width:0;height:100%;background:var(--primary);transition:width .3s ease}
.cta-info:hover::before{width:5px}
.cta-info:hover{transform:translateX(5px);box-shadow:-5px 5px 0 var(--black)}
.cta-info:active,.cta-info:focus{transform:translateX(5px);box-shadow:-5px 5px 0 var(--black)}
.cta-info .title{color:var(--primary);font-family:'DM Mono',monospace;font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}
.cta-info h2{color:var(--black);font-family:'Archivo Black',sans-serif;font-size:1.3rem}
.cta-info p{color:var(--gray-dark);font-size:.95rem;margin:0}
.cta-info a{color:var(--black);text-decoration:none;transition:color .2s ease}
.cta-info a:hover{color:var(--primary)}
.cta-info.bordered{border-color:var(--primary)}
.price-tag{font-family:'Archivo Black',sans-serif}
.list-unstyled{list-style:none;padding-left:0;margin:0}
.list-unstyled li{color:var(--black);font-size:.85rem;margin-bottom:10px;padding-left:20px;position:relative}
.list-unstyled li::before{content:'—';position:absolute;left:0;color:var(--primary)}
.list-unstyled li strong{color:var(--primary)}
.footer{background:var(--black)!important;border-top:4px solid var(--primary)}
.fcopy{background:var(--black)!important}
.ftex{color:var(--gray);font-family:'DM Mono',monospace;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;margin:0}
.ftex .color-primary{color:var(--primary)!important}
.appWhatsapp{position:fixed;bottom:25px;right:25px;z-index:1000;background:var(--primary);width:60px;height:60px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border:3px solid var(--black)}
.appWhatsapp:hover{transform:rotate(-5deg) scale(1.1);background:var(--black)}
.appWhatsapp:hover img{filter:brightness(0) invert(1)}
.appWhatsapp img{width:30px;height:30px;transition:filter .2s ease}

.img-fluid{max-width:100%;height:auto}
.img-fluid.shadow-lg{border:3px solid var(--black)}
.map-container{border:3px solid var(--black);overflow:hidden;width:100%}
#mapa{width:100%;height:450px;filter:grayscale(100%) contrast(1.1);border:0;display:block}
#horario-img{border:3px solid var(--black);max-width:100%}
.text-muted{color:var(--gray)!important}
.animationload{background:var(--white);position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;display:flex;align-items:center;justify-content:center}
.loader{width:50px;height:50px;border:4px solid var(--gray-light);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.navbar-toggler{border:2px solid var(--black);padding:8px 12px;background:transparent}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%230a0a0a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
@media (max-width:991px){
body{padding-top:75px}
.container{padding:0 3px}
.navbar{flex-direction:row;align-items:stretch;justify-content:flex-start;gap:3px;padding:2px 0!important;overflow:hidden}
.navbar-brand{order:1;flex:0 0 auto;margin:0;padding:2px 4px;align-self:center}
.navbar-brand img{height:22px}
.nav-row-1{order:2;flex:1;flex-direction:column;min-width:0}
.nav-row-2{order:3;flex:1;flex-direction:column;min-width:0}
.nav-row-3{order:4;flex:1;flex-direction:column;min-width:0}
.sosmed-icon{order:5;flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;align-self:flex-start}
.navbar-nav{gap:0;flex-direction:column}
.navbar-main .nav-link{font-size:.72rem;padding:2px 4px!important;white-space:nowrap;border-radius:2px;border:1px dashed var(--black)}
.sosmed-icon a{width:20px;height:20px;line-height:20px;font-size:.55rem;border-width:1px;border-radius:2px}
}
.divider-bar{width:100%;height:8px;background:repeating-linear-gradient(90deg,var(--black) 0,var(--black) 20px,var(--white) 20px,var(--white) 22px);overflow:hidden}
.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:auto;background:#0b0b0b;opacity:.8}
.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}
.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}
.mfp-container::before{content:'';display:inline-block;height:100%;vertical-align:middle}
.mfp-align-top .mfp-container::before{display:none}
.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}
.mfp-ajax-cur{cursor:progress}
.mfp-zoom-out-cur{cursor:zoom-out}
.mfp-zoom{cursor:pointer;cursor:zoom-in}
.mfp-auto-cursor .mfp-content{cursor:auto}
.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}
.mfp-loading.mfp-figure{display:none}
.mfp-hide{display:none!important}
.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}
.mfp-preloader a{color:#ccc}
.mfp-preloader a:hover{color:#fff}
.mfp-s-ready .mfp-preloader{display:none}
.mfp-s-error .mfp-content{display:none}
button.mfp-arrow{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}
button::-moz-focus-inner{padding:0;border:0}
.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}
.mfp-close:focus,.mfp-close:hover{opacity:1}
.mfp-close:active{top:1px}
.mfp-close-btn-in .mfp-close{color:#333}
.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}
.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}
.mfp-arrow:active{margin-top:-54px}
.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}
.mfp-arrow::after,.mfp-arrow::before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}
.mfp-arrow::after{border-top-width:13px;border-bottom-width:13px;top:8px}
.mfp-arrow::before{border-top-width:21px;border-bottom-width:21px;opacity:.7}
.mfp-arrow-left{left:0}
.mfp-arrow-left::after{border-right:17px solid #fff;margin-left:31px}
.mfp-arrow-left::before{margin-left:25px;border-right:27px solid #3f3f3f}
.mfp-arrow-right{right:0}
.mfp-arrow-right::after{border-left:17px solid #fff;margin-left:39px}
.mfp-arrow-right::before{border-left:27px solid #3f3f3f}
.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}
.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}
.mfp-iframe-holder .mfp-close{top:-40px}
.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}
.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}
img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0;margin:0 auto}
.mfp-figure{line-height:0}
.mfp-figure::after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}
.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}
.mfp-figure figure{margin:0}
.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}
.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}
.mfp-image-holder .mfp-content{max-width:100%}
.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}
@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){
.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}
.mfp-img-mobile img.mfp-img{padding:0}
.mfp-img-mobile .mfp-figure::after{top:0;bottom:0}
.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}
.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}
.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}
.mfp-img-mobile .mfp-counter{right:5px;top:3px}
.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}
}
@media all and (max-width:900px){
.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}
.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}
.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}
.mfp-container{padding-left:6px;padding-right:6px}
}