@font-face {
  font-family:'Roboto';
  font-style:normal;
  font-weight:300 500;
  src:url('/assets/fonts/Roboto-Variable.woff2') format('woff2');
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{
  height:100%;
  overflow:hidden;
}
body{
  font-family:'Roboto',sans-serif;
  background:#000;
  color:#fff;
}

/* Slideshow */
.slideshow{
  position:fixed;
  inset:0;
  z-index:0;
}
.slideshow img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.2s ease;
}
.slideshow img.active{
  opacity:.4;
}

/* Overlay */
.overlay{
  position:fixed;
  inset:0;
  z-index:1;
  background:rgba(0,0,0,.25);
}

/* Navigation */
nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:25;
  display:grid;
  grid-template-columns:35% 25% 25% 15%;
  align-items:center;
  height:95px;
  padding:0 48px;
  background:#000;
}
.page-home nav{
  background:transparent;
}
.page-home nav a{
  color:#fff;
}
[class^="page-proyectos"] nav a.nav-link[href="/proyectos"]{
  color:#fff;
}
[class^="page-nosotros"] nav a.nav-link[href="/nosotros"]{
  color:#fff;
}
nav a{
  font-family:'Roboto',sans-serif;
  font-size:15px;
  font-weight:400;
  color:#808080;
  text-decoration:none;
  transition:color .3s ease;
}
nav a:hover{
  color:#fff;
}
nav .logo{
  display:block;
  height:18px;
  width:auto;
  opacity:0;
  transition:opacity .5s ease;
}
nav .logo.show{
  opacity:1;
}
nav .logo img{
  display:block;
  height:18px;
  width:auto;
}

/* Info overlay */
.info-overlay{
  position:fixed;
  top:50%;
  left:48px;
  right:48px;
  transform:translateY(-50%);
  z-index:15;
  display:grid;
  grid-template-columns:35% 25% 25% 15%;
  gap:0;
  pointer-events:none;
}
.info-overlay .info-item{
  font-family:'Roboto',sans-serif;
  font-size:15px;
  font-weight:400;
  color:#fff;
  letter-spacing:1px;
  min-height:1.2em;
  opacity:0;
}

/* Indicators */
.indicators{
  position:fixed;
  bottom:34px;
  left:50%;
  transform:translateX(-50%);
  z-index:25;
  display:flex;
  gap:12px;
  align-items:center;
}
.indicators .dot{
  width:1px;
  height:13px;
  background:rgba(255,255,255,.5);
  transition:all .35s ease;
  cursor:pointer;
  position:relative;
}
.indicators .dot::after{
  content:'';
  position:absolute;
  top:-6px;
  bottom:-6px;
  left:-6px;
  right:-6px;
}
.indicators .dot.active{
  width:16px;
  height:13px;
  border:1px solid #fff;
  background:transparent;
}
.indicators .dot.active::after{
  display:none;
}

/* Bottom buttons */
.bottom-btns{
  position:fixed;
  bottom:27px;
  left:48px;
  right:48px;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.btn-ghost{
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:#000;
  color:#fff;
  font-family:'Roboto',sans-serif;
  font-size:10px;
  font-weight:400;
  text-decoration:none;
  border:1px solid #808080;
  border-radius:20px;
  padding:4px 6px 4px 9px;
  transition:border-color .25s, opacity .25s;
  cursor:pointer;
}
.btn-ghost-file{
  padding:4px 9px 6px 9px;
}
.btn-ghost:hover{
  border-color:#fff;
}
.btn-ghost svg{
  display:block;
  width:16px;
  height:16px;
}

/* View toggle buttons */
.proyectos-view-btns{
  position:fixed;
  bottom:29px;
  left:51px;
  z-index:20;
  display:flex;
  gap:8px;
}
.view-btn{
  font-family:'Roboto',sans-serif;
  font-size:10px;
  padding:4px 8px;
  border:1px solid #808080;
  border-radius:20px;
  background:#000;
  color:#fff;
  cursor:pointer;
  transition:border-color .25s,color .25s;
}
.view-btn:hover{
  border-color:#fff;
}
.view-btn.active{
  background:#fff;
  color:#000;
  border-color:#fff;
}
.view-btn.active:hover{
  border-color:#fff;
}

/* Filter button */
.filtros-btn{
  position:fixed;
  top:36px;
  left:calc(35vw + 105px);
  z-index:26;
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:#000;
  color:#fff;
  font-family:'Roboto',sans-serif;
  font-size:10px;
  cursor:pointer;
  padding:4px 6px 5px;
  border:1px solid #808080;
  border-radius:20px;
  transition:border-color .25s, opacity .25s;
  white-space:nowrap;
}
.filtros-btn:hover{
  border-color:#fff;
}
.filtros-btn img{
  display:block;
  width:8px;
  height:8px;
  transition:transform .25s;
}
.filtros-btn.open img{
  transform:rotate(180deg);
}

/* Filter panel */
.filtros-panel{
  position:fixed;
  top:95px;
  left:0;
  right:0;
  z-index:15;
  background:#000;
  padding:20px 48px;
  border-top:1px solid #808080;
  transform:translateY(-100%);
  opacity:0;
  visibility:hidden;
  transition:transform .3s ease, opacity .3s ease, visibility .3s ease;
}
.filtros-panel.open{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
}
.filtros-panel-inner{
  display:flex;
  align-items:flex-start;
  gap:24px;
}
.filtro-section{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.filtro-section-label{
  font-size:13px;
  letter-spacing:1px;
  color:#fff;
}
.filtro-btns{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.filtro-btn{
  font-family:'Roboto',sans-serif;
  font-size:10px;
  padding:4px 8px 5px;
  border:1px solid #808080;
  border-radius:20px;
  background:#000;
  color:#fff;
  cursor:pointer;
  transition:border-color .25s,color .25s;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.filtro-btn:hover{
  border-color:#fff;
}
.filtro-btn.active{
  background:#fff;
  color:#000;
  border-color:#fff;
}
.filtro-btn.active:hover{
  border-color:#fff;
}
.filtro-btn-wrap{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.filtro-close{
  display:none;
  width:24px;
  height:24px;
  border:1px solid #808080;
  border-radius:50%;
  background:transparent;
  color:#fff;
  font-size:14px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  margin-top:1px;
  transition:border-color .25s;
}
.filtro-close:hover{
  border-color:#fff;
}
.filtro-btn.active + .filtro-close{
  display:inline-flex;
}

/* List view */
.proyectos-list{
  display:none;
  padding-top:95px;
  padding-bottom:100px;
  padding-left:48px;
  padding-right:48px;
}
.list-row{
  display:grid;
  grid-template-columns:35% 25% 25% 15%;
  text-decoration:none;
  color:#fff;
  font-size:13px;
  letter-spacing:1px;
  align-items:center;
  position:relative;
  margin-top:20px;
}
.proyectos-list .list-row:first-child{
  margin-top:0;
}
.list-row::before{
  content:'';
  position:absolute;
  top:50%;
  left:-20px;
  right:-20px;
  height:1px;
  background:#fff;
  opacity:0;
  transform:translateY(-50%);
  transition:opacity .2s;
  pointer-events:none;
}
.list-hover-img{
  position:fixed;
  left:50%;
  width:clamp(200px,25vw,400px);
  height:auto;
  transform:translateX(-50%);
  opacity:0;
  transition:opacity .3s;
  pointer-events:none;
  z-index:1;
}
.list-row{
  z-index:2;
}
.list-row > span{
  position:relative;
  z-index:2;
}
@media (hover: hover) and (pointer: fine) {
  .list-row:hover::before{
    opacity:1;
  }
  .list-row:hover .list-hover-img{
    opacity:.5;
  }
}

/* Preloader */
.preloader{
  position:fixed;
  inset:0;
  z-index:200;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity .5s ease;
}
.preloader.hidden{
  opacity:0;
  pointer-events:none;
}
.preloader-inner{
  text-align:center;
}
.preloader-logo{
  display:block;
  height:24px;
  width:auto;
  margin:0 auto 20px;
}

/* Hamburger */
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4.5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:0;
  z-index:110;
  width:22px;
  height:15px;
}
.hamburger span{
  display:block;
  width:22px;
  height:2px;
  flex-shrink:0;
  background:#fff;
  transition:transform .3s ease,opacity .3s ease;
}
.hamburger.active span:nth-child(1){
  transform:rotate(45deg) translate(4px,4px);
}
.hamburger.active span:nth-child(2){
  opacity:0;
}
.hamburger.active span:nth-child(3){
  transform:rotate(-45deg) translate(4px,-4px);
}

/* Nav overlay */
.nav-overlay{
  position:fixed;
  inset:0;
  z-index:100;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.nav-overlay.open{
  opacity:1;
  visibility:visible;
}
.nav-overlay-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:28px;
}
.nav-overlay-links a{
  color:#fff;
  text-decoration:none;
  font-size:18px;
  letter-spacing:2px;
  font-family:'Roboto',sans-serif;
}
.nav-close{
  position:absolute;
  top:10px;
  right:10px;
  background:none;
  border:none;
  color:#fff;
  font-size:28px;
  cursor:pointer;
  z-index:110;
  font-family:'Roboto',sans-serif;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  width:24px;
  height:24px;
}

/* Proyectos grid */
.proyectos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
  padding-top:95px;
}

@media(min-width:1600px){
  .proyectos-grid{
    grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  }
}

@media(min-width:2200px){
  .proyectos-grid{
    grid-template-columns:repeat(auto-fill,minmax(400px,1fr));
  }
}

@media(max-width:600px){
  .proyectos-grid{
    grid-template-columns:1fr;
  }
}
.proyecto-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:100/63;
  object-fit:cover;
}
.img-fade-grid{
  opacity:0;
  transition:opacity .6s ease;
}
.img-fade-grid.loaded{
  opacity:1;
}
.img-fade{
  opacity:0;
  transition:opacity .6s ease;
}
.img-fade.loaded{
  opacity:1;
}

@media(max-width:768px){
  .proyectos-list{
    padding:165px 17px 100px;
    overflow-x:hidden;
  }
  .list-row{
    grid-template-columns:1fr 1fr;
  }
  .list-nombre{
    grid-column:1;
    grid-row:1;
  }
  .list-categoria{
    grid-column:2;
    grid-row:1;
    text-align:right;
  }
  .list-ubicacion{
    grid-column:1;
    grid-row:2;
  }
  .list-anio{
    grid-column:2;
    grid-row:2;
    text-align:right;
  }
}

/* Card overlay */
.proyecto-card{
  position:relative;
  display:block;
  overflow:hidden;
  background:#000;
}
.proyecto-card img{
  transition:opacity .3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .proyecto-card:hover img{
    opacity:.4;
  }
  .proyecto-card:hover .card-overlay{
    opacity:1;
  }
}
.card-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:26px 33px 40px;
}
.card-top{
  display:flex;
  justify-content:space-between;
}
.card-nombre{
  font-size:15px;
  letter-spacing:1px;
  color:#fff;
}
.card-categoria{
  font-size:15px;
  letter-spacing:1px;
  color:#fff;
  text-align:right;
}
.card-mid{
  display:flex;
  justify-content:space-between;
}
.card-ubicacion{
  font-size:13px;
  letter-spacing:1px;
  color:#fff;
}
.card-anio{
  font-size:13px;
  letter-spacing:1px;
  color:#fff;
  text-align:right;
}
.card-bot{
  display:flex;
}
.card-btn{
  display:inline-flex;
  align-items:center;
  gap:4px;
  background:#000;
  color:#fff;
  font-size:10px;
  font-weight:400;
  text-decoration:none;
  border:1px solid #808080;
  border-radius:20px;
  padding:4px 6px;
  font-family:'Roboto',sans-serif;
  transition:border-color .25s;
}
.card-btn:hover{
  border-color:#fff;
}
.card-btn svg{
  display:block;
  width:12px;
  height:12px;
}

/* Detail page slideshow */
.detail-slideshow{
  position:fixed;
  top:93px;
  left:0;
  right:0;
  bottom:0;
  z-index:5;
}
.detail-slideshow img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
}
.detail-slideshow img.detail-fade.loaded{
  transition:opacity 1.2s ease;
}
.detail-slideshow img.detail-fade.loaded.active{
  opacity:1;
}
.detail-arrow{
  position:fixed;
  top:calc(50% + 46.5px);
  transform:translateY(-50%);
  z-index:10;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:0;
}
.detail-arrow img{
  display:block;
  width:21px;
  height:auto;
  transition:opacity .25s;
}
.detail-arrow-left{
  left:47px;
}
.detail-arrow-right{
  right:47px;
}
.detail-top-btn{
  position:fixed;
  z-index:10;
  font-family:'Roboto',sans-serif;
  font-size:10px;
  padding:4px 6px;
  border:1px solid #808080;
  border-radius:20px;
  background:#000;
  color:#fff;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:border-color .25s, opacity .25s;
  white-space:nowrap;
}
.detail-top-btn:hover{
  border-color:#fff;
}
.detail-top-btn img{
  display:block;
  width:8px;
  height:8px;
  transition:transform .25s;
}
.detail-info-btn{
  top:calc(93px + 20px);
  left:47px;
}
.detail-close-btn{
  top:calc(93px + 20px);
  right:47px;
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:50%;
  padding:0px;
  gap:0;
  font-family:'Roboto',sans-serif;
  font-size:15px;
  line-height:1;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:1px;
}
.detail-bottom-btn{
  position:fixed;
  bottom:36px;
  left:47px;
  z-index:10;
  font-family:'Roboto',sans-serif;
  font-size:10px;
  padding:4px 6px;
  border:1px solid #808080;
  border-radius:20px;
  background:#000;
  color:#fff;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:border-color .25s, opacity .25s;
  white-space:nowrap;
}
.detail-bottom-btn:hover{
  border-color:#fff;
}
.detail-bottom-btn img{
  display:block;
  width:8px;
  height:8px;
}
.detail-video-btn{
  left:47px;
}
.detail-cotizar-btn{
  left:auto;
  right:47px;
}
.detail-info-overlay{
  position:fixed;
  top:95px;
  left:0;
  right:0;
  z-index:8;
  background:#000;
  border-top:1px solid #808080;
  padding:20px 48px;
  visibility:hidden;
  opacity:0;
  transform:translateY(-100%);
  transition:transform .4s ease, opacity .4s ease, visibility .4s ease;
  pointer-events:none;
}
.detail-info-overlay.visible{
  visibility:visible;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.detail-info-inner{
  display:grid;
  grid-template-columns:35% 25% 25% 15%;
  gap:6px 0;
  align-items:start;
}
.detail-info-inner > .detail-info-col:first-child{
  justify-content:start;
}
.detail-info-col{
  display:flex;
  flex-direction:column;
  gap:6px;
  position:relative;
  overflow:visible;
}
.detail-field{
  display:flex;
  align-items:baseline;
  position:relative;
}
.detail-info-label{
  position:absolute;
  right:calc(100% + 15px);
  white-space:nowrap;
  font-size:10px;
  letter-spacing:1px;
  color:#808080;
  text-transform:uppercase;
  top:3px;
}
.detail-info-value{
  font-size:15px;
  letter-spacing:1px;
  color:#fff;
  min-height:1.2em;
  flex:1;
}
.detail-link{
  color:#fff;
  text-decoration:underline;
}
.detail-link:hover{
  color:#fff;
}
.detail-info-toggle{
  font-family:'Roboto',sans-serif;
  font-size:10px;
  padding:4px 6px;
  border:1px solid #808080;
  border-radius:20px;
  background:#000;
  color:#fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:border-color .25s;
  position:absolute;
  top:100%;
  left:0;
  margin-top:6px;
  z-index:1;
}
.detail-info-toggle:hover{
  border-color:#fff;
}
.detail-info-toggle img{
  display:block;
  width:8px;
  height:8px;
}
.detail-video-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:100;
  background:#000;
  align-items:center;
  justify-content:center;
}
.detail-video-modal iframe{
  width:95vw;
  max-width:1400px;
  max-height:95vh;
  aspect-ratio:16/9;
  border:none;
}
.detail-video-close{
  position:fixed;
  top:35px;
  right:35px;
  z-index:101;
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:50%;
  padding:0;
  gap:0;
  font-family:'Roboto',sans-serif;
  font-size:15px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.detail-mobile-grid{
  display:none;
}

/* Mobile */
@media(max-width:768px){
nav{
    grid-template-columns:1fr;
    padding:0 17px;
    height:95px;
    top:0;
    left:0;
    right:0;
  }
  nav .logo{
    justify-self:center;
    height:17px;
  }
  nav .logo img{
    height:17px;
  }
  nav a.nav-link{
    display:none;
  }
  .hamburger{
    display:flex;
    position:absolute;
    right:17px;
    top:50%;
    transform:translateY(-50%);
  }

  .info-overlay{
    grid-template-columns:1fr 1fr;
    left:17px;
    right:17px;
  }
  .info-overlay .info-item:nth-child(1){text-align:left}
  .info-overlay .info-item:nth-child(2){text-align:right}
  .info-overlay .info-item:nth-child(3){text-align:left}
  .info-overlay .info-item:nth-child(4){text-align:right}

  .nav-close{
    top:38px;
    right:15px;
  }
  .proyectos-list{
    padding-left:17px;
    padding-right:17px;
  }
  .proyectos-view-btns{
    left:50%;
    transform:translateX(-50%);
  }
  .bottom-btns{
    left:17px;
    right:17px;
  }
  .indicators{
    flex-wrap:wrap;
    justify-content:center;
    max-width:calc(100vw - 200px);
    bottom:32px;
  }
  .btn-ghost{
    font-size:10px;
  }
  .btn-ghost svg{
    width:13px;
    height:13px;
  }
  .info-overlay .info-item{
    font-size:12px;
  }

  .filtros-btn{
    top:117px;
    left:50%;
    transform:translateX(-50%);
    z-index:26;
    display:inline-flex;
  }
  .filtros-panel{
    top:95px;
    padding:70px 17px 20px;
  }
  .filtros-panel-inner{
    flex-direction:column;
    align-items:center;
    gap:0;
  }
  .filtro-section{
    align-items:center;
    margin-bottom:20px;
  }
  .filtro-btns{
    justify-content:center;
  }
  .filtro-section + .filtro-section{
    margin-top:30px;
  }
  .filtro-section:first-child{
    margin-top:15px;
  }

  .card-overlay{
    padding:26px 17px 40px;
  }

  .detail-slideshow{
    display:none;
  }
  .detail-mobile-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding-top:95px;
    padding-left:0;
    padding-right:0;
  }
  .detail-mobile-grid img{
    display:block;
    width:100%;
    height:auto;
  }
  .detail-info-btn{
    top:calc(95px + 20px);
    left:17px;
    right:auto;
  }
  .detail-close-btn{
    top:calc(95px + 20px);
    right:17px;
  }
  .detail-arrow{
    display:none;
  }
  #detailIndicators{
    display:none;
  }
  .detail-video-btn{
    left:17px;
    right:auto;
  }
  .detail-cotizar-btn{
    left:auto;
    right:17px;
  }
  .detail-info-overlay{
    top:95px;
    padding:35px 10% 30px;
  }
  .detail-info-inner{
    display:flex;
    flex-direction:column;
    width:100%;
    gap:8px;
  }
  .detail-info-col{
    display:flex;
    flex-direction:column;
    align-items:center;
    width: 100%;
    margin-bottom:20px;
  }
  .detail-info-toggle{
    display:none;
  }
  .detail-info-col > .detail-field{
    display:block;
    width:100%;
    text-align:center;
  }
  .detail-info-col > .detail-field > .detail-info-value{
    font-size:15px;
    display:block;
    text-align:center;
  }
  .detail-info-label{
    position:static;
    font-size:9px;
    text-align:left;
    color:#808080;
    letter-spacing:1px;
    text-transform:uppercase;
  }
  .detail-info-value{
    font-size:12px;
    text-align:left;
    color:#fff;
    letter-spacing:1px;
    display:block;
    width:100%;
  }
  .detail-field{
    display:grid;
    grid-template-columns:90px 1fr;
    gap:15px;
    align-items:baseline;
  }
}

/* Nosotros page */
.nosotros-header{
  width:100%;
  height:clamp(350px, 50vh, 70vh);
  overflow:hidden;
  padding-top:95px;
}
.nosotros-header img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.nosotros-content{
  display:grid;
  grid-template-columns:60% 40%;
  padding:60px 48px 48px;
  gap:0;
}
.nosotros-left{
  display:flex;
  flex-direction:column;
}
.nosotros-arq{
  display:flex;
  gap:30px;
  align-items:flex-start;
}
.nosotros-arq > img{
  width:160px;
  height:auto;
  flex-shrink:0;
  display:block;
}
.nosotros-arq > div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:0;
}
.nosotros-arq-desc{
  font-size:15px;
  color:#fff;
  line-height:1.5;
  max-width:70%;
  padding:0;
  margin:0;
  transform:translateY(-6px);
}
.nosotros-arq-desc > :first-child{
  margin-top:0;
}
.nosotros-arq-desc p{
  margin:0 0 1em 0;
}
.nosotros-arq-desc ul{
  margin:0;
  padding-left:20px;
  list-style:disc;
}
.nosotros-arq-desc li{
  margin-bottom:.3em;
}
.nosotros-right{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:30px;
}
.nosotros-team-photos{
  display:grid;
  grid-template-columns:repeat(3,80px);
  gap:15px;
  align-content:start;
}
.nosotros-team-photos img{
  width:80px;
  height:80px;
  object-fit:cover;
  display:block;
}
.nosotros-team-names{
  display:flex;
  flex-direction:column;
  gap:6px;
  line-height:1;
}
.nosotros-team-title{
  font-size:15px;
  font-weight:400;
  letter-spacing:2px;
  color:#808080;
  margin:0 0 18px 0;
  padding:0;
  line-height:1;
  margin-top:-2px;
}
.nosotros-team-name{
  font-size:15px;
  color:#808080;
}
.nosotros-team-members,
.team-member{
  display:none;
}

@media(max-width:768px){
  .nosotros-header{
    height:80vw;
    padding-top:95px;
  }
  .nosotros-header img{
    height:100%;
  }
  .nosotros-content{
    grid-template-columns:1fr;
    padding:44px 0;
    gap:40px;
  }
  .nosotros-left{
    padding:0 17px 0 0;
  }
  .nosotros-arq{
    flex-direction:row;
    align-items:flex-start;
    gap:16px;
    text-align:left;
  }
  .nosotros-arq > img{
    width:153px;
  }
  .nosotros-arq > div{
    align-items:flex-start;
    text-align:left;
  }
  .nosotros-arq-desc{
    font-size:12px;
    max-width:none;
  }
  .nosotros-right{
    display:block;
  }
  .nosotros-team-photos,
  .nosotros-team-names{
    display:none;
  }
  .nosotros-team-members{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
  }
  .nosotros-team-title{
    font-size:12px;
    letter-spacing:2px;
    color:#808080;
    grid-column:1 / -1;
    text-align:left;
    padding-left:17px;
    margin-bottom:10px;
    margin-top:0;
  }
  .team-member{
    display:grid;
    grid-template-rows:auto auto;
    gap:6px;
  }
  .team-member-name{
    font-size:12px;
    color:#808080;
    text-align:center;
    padding:0 3px;
  }
  .team-member img{
    width:100%;
    height:auto;
    aspect-ratio:1;
    object-fit:cover;
    display:block;
  }
  .team-member-name{
    font-size:12px;
    color:#808080;
    text-align:center;
    padding:0 3px;
  }
}

/* Contacto page */
[class^="page-contacto"] nav a.nav-link[href="/contacto"]{
  color:#fff;
}
.contacto-map-wrap{
  position:relative;
  width:100%;
  height:clamp(350px, 50vh, 70vh);
  overflow:hidden;
  padding-top:95px;
}
.contacto-map{
  position:relative;
  width:100%;
  height:100%;
}
.contacto-map iframe{
  width:100%;
  height:100%;
  border:none;
  display:block;
  pointer-events:none;
}
#contactoMap{
  width:100%;
  height:100%;
}
.contacto-map-icon{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:44px;
  height:auto;
  pointer-events:none;
  z-index:2;
}
.contacto-content{
  display:grid;
  grid-template-columns:55% 45%;
  padding:60px 48px 48px;
  gap:48px;
}
.contacto-left{
  display:flex;
  flex-direction:column;
  gap:32px;
}
.contacto-left-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.contacto-left-col2{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding-left:24%;
}
.contacto-info{
  font-size:15px;
  color:#fff;
  line-height:1.8;
}
.contacto-info-title{
  font-size:15px;
  letter-spacing:2px;
  color:#fff;
  margin-bottom:12px;
}
.contacto-info p{
  margin:0 0 2px 0;
}
.contacto-info a{
  color:#fff;
  text-decoration:none;
  transition:color .3s ease;
}
.contacto-info a:hover{
  text-decoration:underline;
}
.contacto-btns{
  display:flex;
  gap:8px;
}
.contacto-tab.active{
  background:#fff;
  color:#000;
  border-color:#fff;
}
.contacto-tab.active svg{
  stroke:#000;
}
.contacto-right{
  display:flex;
  flex-direction:column;
  gap:32px;
}
.contacto-form-title{
  font-size:15px;
  letter-spacing:2px;
  color:#fff;
  margin-bottom:0;
}
.contacto-form-cols{
  display:grid;
  grid-template-columns:minmax(0,260px) minmax(0,260px);
  gap:20px;
}
.contacto-form-col{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.contacto-form-col:last-child{
  padding-right:16px;
}
.contacto-label{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:6px;
  font-family:'Roboto',sans-serif;
  font-size:15px;
  font-weight:400;
  color:#808080;
}
.contacto-opc{
  font-size:12px;
  opacity:.6;
}
.contacto-input{
  width:100%;
  max-width:240px;
  background:#1A1A1A;
  color:#fff;
  border:none;
  border-radius:20px;
  padding:6px 12px;
  font-family:'Roboto',sans-serif;
  font-size:14px;
  outline:none;
  transition:background .25s;
}
.contacto-input:focus{
  background:#222;
}
.contacto-input:-webkit-autofill,
.contacto-input:-webkit-autofill:hover,
.contacto-input:-webkit-autofill:focus,
.contacto-input:-webkit-autofill:active{
  -webkit-box-shadow:0 0 0 1000px #1A1A1A inset !important;
  -webkit-text-fill-color:#fff !important;
}
.contacto-input::placeholder{
  color:#555;
}
.contacto-textarea{
  min-height:80px;
  resize:none;
}
select.contacto-input{
  padding-right:60px;
}
select.contacto-input option{
  background:#000;
  color:#808080;
}
.radio-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.radio-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#000;
  color:#808080;
  padding:6px 14px;
  font-family:'Roboto',sans-serif;
  font-size:13px;
  cursor:pointer;
}
.radio-pill:hover{
  color:#fff;
}
.radio-pill input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  width:10px;
  height:10px;
  border:1px solid #808080;
  border-radius:50%;
  margin:0;
  flex-shrink:0;
  transition:border-color .25s, background .25s;
}
.radio-pill input[type="radio"]:checked{
  border-color:#fff;
  background:#fff;
}
.radio-pill:has(input:checked){
  border-color:#fff;
  color:#fff;
}
.contacto-file-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:-2px;
}
.contacto-file-wrap input[type="file"]{
  display:none;
}
.contacto-file-name{
  font-size:12px;
  color:#808080;
  padding-left:0px;
  padding-top:10px;
}
.contacto-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  max-width:240px;
}
.contacto-row .contacto-input{
  max-width:none;
}
.contacto-form .btn-ghost{
  align-self:flex-start;
  margin-top:12px;
}
.contacto-form-wrap{
  position:relative;
}
.contacto-success{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,.85);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.contacto-success.visible{
  opacity:1;
  pointer-events:auto;
}
.contacto-success-inner{
  font-size:15px;
  color:#fff;
  text-align:center;
  letter-spacing:1px;
}
.contacto-modal{
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(0,0,0,.9);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
.contacto-modal.visible{
  opacity:1;
  pointer-events:auto;
}
.contacto-modal-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:24px;
}
.contacto-modal-inner p{
  color:#fff;
  font-size:15px;
  text-align:center;
  letter-spacing:1px;
}

@media(max-width:768px){
  .contacto-content{
    grid-template-columns:1fr;
    padding:44px 41px 48px;
    gap:32px;
  }
  .contacto-map-wrap{
    height:80vw;
  }
  .contacto-left-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .contacto-left-col2{
    align-items:flex-start;
    padding-left:0;
  }
  .contacto-info{
    font-size:12px;
  }
  .contacto-info-title{
    font-size:12px;
  }
  .contacto-btns{
    justify-content:flex-start;
  }
  .contacto-form-title{
    font-size:12px;
    text-align:left;
  }
  .contacto-form-cols{
    grid-template-columns:1fr;
    gap:14px;
  }
  .contacto-form-col:last-child{
    padding-right:0;
  }
  .contacto-label{
    font-size:12px;
  }
  .contacto-input{
    font-size:12px;
  }
  .contacto-input{
    max-width:none;
  }
}

@supports (-webkit-touch-callout:none){
  .detail-bottom-btn{
    bottom:22px;
  }
  .proyectos-view-btns{
    bottom:15px;
  }
}
