/* Grupo Hastial - Cabeceras Dinámicas v2.7.4 */
.gh-page-hero{
  position:relative;
  width:100vw;
  max-width:100vw;
  left:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  min-height:var(--gh-h-d);
  height:var(--gh-h-d);
  overflow:hidden;
  background-image:var(--gh-img-d);
  background-size:cover;
  background-position:var(--gh-pos-d);
  background-repeat:no-repeat;
  font-family:var(--gh-font);
  color:var(--gh-text);
  isolation:isolate;
}
.gh-page-hero__shade{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,var(--gh-overlay) 0%,var(--gh-overlay) 28%,var(--gh-overlay-soft) 52%,rgba(0,0,0,0) 82%),
    linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.06) 30%,rgba(0,0,0,.08) 100%);
  pointer-events:none;
}
.gh-page-hero__inner{
  position:relative;
  z-index:1;
  width:min(1350px,calc(100vw - 48px));
  max-width:1350px;
  height:100%;
  min-height:inherit;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  align-items:center;
  box-sizing:border-box;
  padding-left:0;
  padding-right:0;
  padding-top:var(--gh-safe-top-d);
  padding-bottom:40px;
}
/* El texto arranca exactamente en el mismo borde del cuerpo interno de 1350 px. */
.gh-page-hero__content{
  position:relative;
  width:min(var(--gh-content),calc(100vw - 56px));
  max-width:var(--gh-content);
  margin-left:0;
  padding-left:0;
  transform:translateY(var(--gh-top-d));
  box-sizing:border-box;
}
.gh-page-hero.gh-v-top .gh-page-hero__inner{align-items:flex-start}
.gh-page-hero.gh-v-bottom .gh-page-hero__inner{align-items:flex-end;padding-bottom:70px}

/* v2.7.0: línea horizontal por encima de PROYECTOS. No desplaza el texto. */
.gh-page-hero__line{
  display:block;
  width:var(--gh-line-length);
  height:var(--gh-line);
  min-height:var(--gh-line);
  margin:0 0 var(--gh-line-gap) 0;
  padding:0;
  background:var(--gh-accent);
  border:0;
}
.gh-page-hero__eyebrow{
  margin:0 0 7px;
  font-size:var(--gh-eyebrow-d);
  line-height:1.2;
  letter-spacing:.12em;
  font-weight:400;
  text-transform:uppercase;
  color:var(--gh-text);
}
.gh-page-hero__title{
  margin:0!important;
  padding:0!important;
  font-family:var(--gh-font)!important;
  font-size:var(--gh-title-d)!important;
  line-height:1.03!important;
  letter-spacing:-.03em!important;
  font-weight:var(--gh-title-weight,400)!important;
  color:var(--gh-text)!important;
  text-transform:none!important;
}
.gh-page-hero__accent{
  margin:1px 0 0;
  font-size:var(--gh-accent-d);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:var(--gh-title-weight,400);
  color:var(--gh-accent);
}
.gh-page-hero__description{
  margin-top:10px;
  max-width:480px;
  font-size:var(--gh-desc-d);
  line-height:1.35;
  letter-spacing:-.01em;
  font-weight:300;
  color:var(--gh-text);
}
/* El menú global de Elementor se superpone al HERO. */
body.gh-overlay-elementor-header .elementor-location-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:9999;
  background:transparent!important;
}
body.gh-overlay-elementor-header.admin-bar .elementor-location-header{top:32px}

@media (min-width:1025px) and (max-width:1440px){
  .gh-page-hero{
    min-height:var(--gh-h-l);
    height:var(--gh-h-l);
    background-image:var(--gh-img-d);
    background-position:var(--gh-pos-l);
  }
  .gh-page-hero__inner{
    width:min(1350px,calc(100vw - 40px));
    padding-left:0;
    padding-right:0;
    padding-top:var(--gh-safe-top-l);
    padding-bottom:36px;
  }
  .gh-page-hero__content{margin-left:0;transform:translateY(var(--gh-top-l));}
  .gh-page-hero__eyebrow{font-size:var(--gh-eyebrow-l)}
  .gh-page-hero__title{font-size:var(--gh-title-l)!important}
  .gh-page-hero__accent{font-size:var(--gh-accent-l)}
  .gh-page-hero__description{font-size:var(--gh-desc-l)}
}
@media (max-width:1024px){
  .gh-page-hero{
    min-height:var(--gh-h-t);
    height:var(--gh-h-t);
    background-image:var(--gh-img-t);
    background-position:var(--gh-pos-t);
  }
  .gh-page-hero__inner{width:min(1350px,calc(100vw - 40px));padding-left:0;padding-right:0;padding-top:var(--gh-safe-top-t);padding-bottom:32px}
  .gh-page-hero__content{margin-left:0;transform:translateY(var(--gh-top-t));}
  .gh-page-hero__title{font-size:var(--gh-title-t)!important}
  .gh-page-hero__accent{font-size:var(--gh-accent-t)}
  .gh-page-hero__description{font-size:var(--gh-desc-t)}
}
@media (max-width:782px){body.gh-overlay-elementor-header.admin-bar .elementor-location-header{top:46px}}
@media (max-width:767px){
  .gh-page-hero{
    min-height:var(--gh-h-m);
    height:var(--gh-h-m);
    background-image:var(--gh-img-m);
    background-position:var(--gh-pos-m);
  }
  .gh-page-hero__shade{
    background:
      linear-gradient(90deg,var(--gh-overlay) 0%,var(--gh-overlay) 44%,var(--gh-overlay-soft) 76%,rgba(0,0,0,.08) 100%),
      linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.08) 35%,rgba(0,0,0,.12));
  }
  .gh-page-hero__inner{width:calc(100vw - 32px);padding-left:0;padding-right:0;padding-top:var(--gh-safe-top-m);padding-bottom:28px}
  .gh-page-hero.gh-v-bottom .gh-page-hero__inner{padding-bottom:42px}
  .gh-page-hero__content{
    width:min(var(--gh-content),calc(100vw - 34px));
    margin-left:0;
    padding-left:0;
    transform:translateY(var(--gh-top-m));
  }
  .gh-page-hero__eyebrow{font-size:var(--gh-eyebrow-m);margin-bottom:6px}
  .gh-page-hero__title{font-size:var(--gh-title-m)!important;line-height:1.04!important}
  .gh-page-hero__accent{font-size:var(--gh-accent-m);line-height:1.03}
  .gh-page-hero__description{font-size:var(--gh-desc-m);line-height:1.35;margin-top:9px;max-width:92%}
}
